QPressEvent实现双击ctrl快捷键
原创不易,转载请注明原出处:
http://blog.csdn.net/yp541118319/article/details/56009783
I、按键事件
QKeyEvent, QKeyEventTransition用于存储捕捉到的按键事件,
包含单个按键,组合按键,按键序列(设置Qt::WidgetAttribute–Qt::WA_KeyCompression后可获得)
包括keyPressEvent, keyReleaseEvent
可以通过重载两者来自定义按键事件的响应,不处理的按键事件应继续交给父类函数处理:QWidget::keyPressEvent(event); //保存默认事件
II、按键行为
Qt中的按键分两种:auto-repeating key、initial key。
注:keyPressEvent与keyReleaseEvent行为类似,不重复赘述
auto-repeating key基本是普通的字母、数字按键。长按会不断产生keyPressEvent。处理时需要屏蔽重复的事件:“if(event->isAutoRepeat()) return;
initial key类似Ctrl, Shift, Alt等辅助类按键,只在按下时产生一个keyPressEvent。
III、按键类
Qt中与按键相关类有QKeySequence, QKeySequenceEdit
QKeySequenc