18.监听用户是否按下Tab键,Ctrl+s组合键,Ctrl+Shift+a组合键

本文介绍了如何在Qt中使用keyPressEvent事件监听用户的按键操作,包括识别不同类型的按键,如普通键和修饰键。通过QKeyEvent参数,可以获取按键的数量、状态以及具体的按键值。示例展示了监听Ctrl+S、Ctrl+Shift+A等组合键的实现,强调了在监听多个修饰键时需使用按位或运算。这对于创建响应用户快捷键输入的应用程序非常有用。
摘要由CSDN通过智能技术生成

使用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

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值