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

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

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

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

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

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

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

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

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

话不多说上思路。

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

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

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

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

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

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

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

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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部