【Qt】处理键盘事件
处理键盘事件
要想获取到用户的键盘按键,在之前的学习中使用过QShortCut,这个函数是信号槽机制封装过获取键盘按键的方式,站在更底层的角度,也可以通过事件获取到当前用户键盘按下的情况。
Qt 中的按键事件是通过 QKeyEvent 类来实现的。当键盘上的按键被按下或者被释放时,键盘事件便会触发。
例子:点击单个按键
(1)通过event->key()函数获取单个按键
观察打印出相应的Ascii码值
(2)利用按下按键w,a,s,d打印上下左右
例子:点击组合按键
Qt把这些用来搭配组合键的功能键使用modifiers(修饰符)
Qt::KeyboardModifier 中定义了在处理键盘事件时对应的修改键。在 Qt 中,键盘事件可以与修改键⼀起使⽤,以实现⼀些复杂的交互操作。KeyboardModifier 中修改键的具体描述如下:
Qt::NoModifier
|
⽆修改键
|
Qt::ShiftModifier
|
Shift 键
|
Qt::ControlModifier
|
Ctrl 键
|
Qt::AltModifier
|
Alt 键
|
Qt::MetaModifier
|
Meta键(在Windows上指Windows键,在macOS上指Command键)
|
Qt::KeypadModifier
|
使⽤键盘上的数字键盘进⾏输⼊时,Num Lock键处于打开状态
|
Qt::GroupSwitchModifier
|
⽤于在输⼊法 组之间 切换
|