设为首页 加入收藏

TOP

Qt 全局热键 QxtGlobalShortcut 学习
2014-11-24 08:20:27 来源: 作者: 【 】 浏览:1
Tags:全局 热键 QxtGlobalShortcut 学习

不少人有给程序添加全局热键的需求。网上随便一搜,就能找到不少介绍windows下如何实现的方式:


但是涉及其他平台的,中文资料中提到的似乎不多。


其实Qt第三方的库 libqxt 中已经给出了一个比较好的跨平台的解决方案,这就是 QxtGlobalShortcut。


所以,只要你使用这个第三方库就可以了。


可是,你会不会想,我仅仅为了使用这个类,而引入这个 libqxt 第三方库是不是有点大题小做?我能不能将其剥离出来单独使用?


恩,用google搜索一下,就可以知道,网上很多人都做过这个工作了。你会发现很多人将剥离出的 QxtGlobalShortcut 作为项目的 3rdparty 部分。


那么我们接下来就看看这个 QxtGlobalShortcut :


已经简单到不能再简单了,是不?


我们通过构造函数,或者setShortcut 成员设置一个热键时:




注意,这儿不是给 QApplication 安装的。Manual中是这样告诉我们的



或 x11 下:


其中activateShortcut是平台无关的:


记得前面注册热键是保存东西到一个QHash么?它是在这儿起作用的,当一个热键到来时,我们从该QHash查找有没有相应的QxtGlobalShortcut存在,存在且启用的话,则发射信号。


为了便于使用,我们可以在这个文件的同级目录中添加一个 qxtglobalshortcut.pri 的文件:


这样一来,当我们使用时,只需要在我们的pro文件内多加一行:


即可


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何让 Qt 的程序使用 Sleep 下一篇Java 备份MySQL(可用于Windows和..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C 内存管理 | 菜鸟教 (2025-12-26 20:20:37)
·如何在 C 语言函数中 (2025-12-26 20:20:34)
·国际音标 [ç] (2025-12-26 20:20:31)
·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)