
QKeyEvent类用于描述键盘按键所产生的QT事件
#include<QKeyEvent>
继承于QInpueEvent
公有函数:
QKeyEvent ( Type type,int key,Qt::KeyboardModifIErs modifIErs,const QString & text = QString(), bool autorep = false,ushort count = 1 )
int count () const
bool isautoRepeat () const
int key () const
bool matches ( QKeySequence::StandardKey key ) const
Qt::KeyboardModifIErs modifIErs () const
quint32 nativeModifIErs () const
quint32 nativeScanCode () const
quint32 nativeVirtualKey () const
QString text () const
相关的非成员函数:
bool operator== ( QKeyEvent * e,QKeySequence::StandardKey key )
bool operator== ( QKeySequence::StandardKey key,QKeyEvent * e )
细节描述:
QKeyEvent类用于描述键盘按键所产生的QT事件,当一个窗口具有输入焦点时,通过键盘的按键的(敲击/释放)所产生的QT键盘事件
可以传送给具有输入焦点的窗口进行处理。
键盘QT事件包含了一些指定的接收标志用于指出QT事件接受者是否对该事件进行处理,如果窗口不处理键盘的(敲击/释放)
可以通过调用ignore()函数予以忽略。键盘QT事件具有传递性,会传送给父窗口及顶层窗口所构成的链表,一层一层的传递,
直到某窗口调用accept()予以接受,或者过滤直至该事件被销毁。键盘QT事件对于多媒体在默认情况下总是被忽略的,
如果你的窗口要处理该事件,可以通过调用accept()函数予以接收。
可以通过调用QWidget::setEnable()函数设置某个窗口开启/禁止接收鼠标或键盘事件。
QT事件句柄函数 QWidget::keyPressEvent(),QWidget::keyreleaseEvent(),QGraphicsItem::keyPressEvent()
,QGraphicsItem::keyreleaseEvent()可以用于接收键盘事件。
成员函数描述:
QKeyEvent::QKeyEvent ( Type type,ushort count = 1 )
初始化一个keyEvent对象。 参数type必须是QEvent::KeyPress,QEvent::keyrelease,or QEvent::ShortcutOverrIDe其中之一。 参数key用于监听QT::Key循环事件,如果key为0则导致键盘事件的是一个未定义按键,例如,导致该键盘事件的可能是 连续不断的按键下压 *** 作或者是预定义的快捷键。 参数modifIErs用于指出键盘按键键值的改变,同时给出该按键对应的Unicode编码信息。 如果参数autorep为true,函数isautoRepeat()函数就返回true 参数count用于计算该键盘事件所牵扯到得按键的个数。 int QKeyEvent::count () const 返回键盘QT事件所牵扯到的按键的数量,如果函数text()返回不为空,则本函数只是简单的计算该文本字符串的长度。 bool QKeyEvent::isautoRepeat () const 如果该键盘QT事件时由于一些列的自动重复的按键导致的则返回true,否则返回false 注意,如果导致多次叠加的按键组合其中一部分是自动循环形式产生的,则该函数不确定是返回true还是false。 int QKeyEvent::key () const 返回按键被下压或释放时对应的编码值。查看Qt::Key键盘编码清单,这些编码信息都是依赖于底层 *** 作系统的。 该函数不区分大小写,要想知道返回的按键编码所对应的按键是大写还是小写(比如A和a)可以通过调用text()函数得到。 数字0和Qt::Key_unkNown代表导致QT键盘事件的不是一个well_kNown按键所产生的,例如,导致该键盘事件的可能是一系列复杂的输入,或者是快捷键,或者是被压缩的按键所导致的。 bool QKeyEvent::matches ( QKeySequence::StandardKey key ) const 如果导致键盘QT事件的按键编码值和参数key所给出的标准按键值匹配则返回true,否则返回false. 该函数在QT4.2中有介绍。该函数可以通过迭代方式得知当前按下的是哪一个按键。 Qt::KeyboardModifIErs QKeyEvent::modifIErs () const 键盘QT事件生成后直接返回导致该事件的热键。提示:该函数并不总是返回很确切的结果,当用户同时按下shift+组合键或者 释放其中某一个键时,该函数就可能返回一个让用户迷惑的结果。 quint32 QKeyEvent::nativeModifIErs () const 返回导致键盘QT事件的热键编码值,如果该事件不包含所对应的热键则返回数字0. 附注:即便键盘事件包含扩展信息,该热键也可能是为0的。 该函数在QT4.2中有介绍。 quint32 QKeyEvent::nativeScanCode () const 返回导致该键盘QT事件的扫描码,如果敢事件不包含所对应的扫描码则返回数字0. 附注:即便键盘事件包含扩展信息,该扫描码也可能是为0的。 附注:在Mac OS/X 系统上该函数式无效的,因为没有办法从Cocoa或者Carbon中获取扫描码,该函数通常返回1,或者当包含扩展信息时返回0. 该函数在QT4.2中有介绍 quint32 QKeyEvent::nativeVirtualKey () const 返回导致键盘QT事件的虚拟键或者字符码,如果该键盘事件没有包含该按键的编码则返回0. 附注:即便键盘事件包含扩展信息,该虚拟键也可能是为0的。 该函数在QT4.2中有介绍 QString QKeyEvent::text () const 返回导致的键盘事件的Unicode字符编码信息,当导致键盘事件的原因是由热键比如Shift,Control,Alt等的下压或者释放, 则该函数返回的字符可以为空值。在这种情况下函数key()可以返回一个有效值。 相关的非成员函数: bool operator== ( QKeyEvent * e,QKeySequence::StandardKey key ) 如果参数e和参数key类型匹配且相等则返回true 等同于函数 e->matches(key). bool operator== ( QKeySequence::StandardKey key,QKeyEvent * e ) 如果参数e和参数key类型匹配且相等则返回true 等同于函数 e->matches(key). 总结以上是内存溢出为你收集整理的QT::QKeyEvent全部内容,希望文章能够帮你解决QT::QKeyEvent所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)