QT5 QWidget响应全局热键

 时间:2024-10-12 19:24:35

1、继承QAbstractNativeEventFilter

QT5 QWidget响应全局热键

2、实现bool nativeEventFilter(const 兑恶铼融QByteArray &eventType, void *message, long *result)不同系统上消息结构体并不相同,这里是以windows顶层窗口为例。第二幅图是QtCreator内置帮助文档关于此函数的详细声明。

QT5 QWidget响应全局热键QT5 QWidget响应全局热键

3、用对应的系统API注册热键。窗口句柄为(HWND)wInd,并对qApp对象调用installNativeEventFilter(this),把事件与QT窗口相关联。

QT5 QWidget响应全局热键

4、最小化窗口,用 ctrl+alt+孥恶膈茯q可以响应事件,发现激活应用,说明系统热键使用成功了。Note:注意一下,在QtCreator的pro项目中 要写上LIBS += User32.lib,否则注册热键函数会无法调用(无法识别的外部符号),如果与其他已经注册的系统热键冲突,应当先调用UnregisterHotKey(HWND ,int)。

  • 菜鸟学习C#编程之连接带密码SQL Server 数据库
  • 使用Powershell计算指定日期是当年的第几天?
  • win10使用iSCSI服务 初始化磁盘
  • 在红帽RHEL7上面搭建gcc
  • 源码包安装configure脚本常用选项配置
  • 热门搜索
    过敏性皮肤怎么治疗 怎么减肥肚子 tcl冰箱质量怎么样 唱歌怎么不跑调 上官婉儿怎么飞天连招 加油的英语怎么说 哇怎么组词 周怎么读 爱奇艺怎么下载电视剧 百分比怎么计算