使用keyPressEvent的QKeyEvent监听用户按键
在QKeyEvent有许多参数,例如count表示同时的按键数量
键盘上的键是否被连续按住
获取按下的普通键
获取按下的修饰键
- 修饰键为Shift,Ctrl,Alt等不输入具体值的键
- 普通键为除修饰键的所有键
在使用键盘监听事件之前,应先让控件捕获键盘事件
之后在类中定义键盘事件
运行结果
- Qt.Key_Tab代表Tab键
evt,key()所对应的修饰键
- 没有修饰键:Qt.NoModifier
- Shift键:Qt.ShiftModifier
- Ctrl键:Qt.ControlModifier
- Alt键:Qt.AltModifier
如果有多个修饰键同时被按下,监听时使用 按位或 运算,并不是or,而是 |
按位或,以二进制为例:
10(2)
01(1)
3(11)= 10(2)| 01(1)
监听Ctrl+s
- 注:普通键所有字符要大写,小写会报错
运行结果
监听Ctrl+Shift+A
运行结果