您的位置:首页 > 财经 > 产业 > Qt全局快捷键QGlobalHotKey的自研之路

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

2024/12/23 11:31:04 来源:https://blog.csdn.net/xiaobai_2511/article/details/139656309  浏览:    关键词:Qt全局快捷键QGlobalHotKey的自研之路

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

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

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

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

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

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

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

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

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

话不多说上思路。

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

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

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

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

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

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

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com