Qt全局快捷键QGlobalHotKey的自研之路

这两天对Qt的快捷键格外感兴趣。

前两天在使用QHotKey的过程中,发现不能定义小键盘键盘码,自己二次修改了该库之后已经可以设置小键盘快捷键了。文章在这里:Qt第三方库QHotKey设置小键盘数字快捷键

昨天突发奇想:目前所有的快捷键,都是由组合键和键盘码组合而成的。在快捷键的使用上有很大的限制。对应一些工作繁忙,或者使用较多快捷键的情况下反而不够。

所以能不能有这样一种快捷键,无视组合,就算单个字符或者数字都能作为快捷键的使用呢?

这里肯定要考虑,如果单个按作为快捷键的话,改键就不能做为正常键使用了。所以设计QGlobalHotKey的时候,设置了响应的一键失效,一键起效的功能。如果要想正常使用键盘,则一键失效即可。  

不知道这种开发是不是多余的哦。但是花费两天时间自己开发玩玩还是蛮舒服的。

QGlobalHotKey.h:快捷键注册、移除快捷键、快捷键响应信号

QGlobalHotKeyEdit:快捷键的呈现方式可视化,继承QLineEdit 自研。

QGlobalHotKeyManager.h : 存储管理和按键检测管理 响应管理

话不多说上思路。

1、规整所有的键盘码和其字符表达式

2、键盘按下的时候显示响应的字符串

3、注册快捷键并存储,绑定快捷键响应时候的信号

4、全局监控键盘响应事件

5、遍历存储的键盘列表是否和注册的有相同的

6、有相同的则发送通知快捷键响应。

以上所有的组合皆可相应。并且能够区分左右 Ctrl Shift Alt Win键。区分数字键和小键盘数字键。

现在完美了,全局快捷键这块再也困不到我了。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值