C ++ / Qt全球热键

时间:2016-02-22 21:42:30

标签: c++ qt hotkeys

我正在处理一个应用程序,我需要在后台运行它并在按下某个按钮组合时运行一个函数。我有点明白,这需要一个特定于平台的API调用(WIN32,X11等),但我真的不知道如何开始。此外,是否有多平台方式来实现这一目标?我真的需要它在Windows,Linux和OSX上工作。

3 个答案:

答案 0 :(得分:4)

总结:

  1. The Qt Event System可能是一个选项(在系统/桌面管理员级别有一些帮助)
  2. Qxt Library(不再维护)
  3. 或此项目UGlobalHotkey
  4. 。 2.到目前为止似乎是最好的选择。虽然它不再维护,但它目前适用于Qt5。

答案 1 :(得分:1)

http://amin-ahmadi.com/2015/11/14/how-to-use-system-wide-hotkeys-in-your-qt-application/展示了如何在Qt中使用Windows API的RegisterHotKey

您需要热键的密钥代码。

答案 2 :(得分:0)

看看https://github.com/kwhat/libuiohook

它是一个可以轻松与Qt集成的c库。 允许全局键盘和鼠标事件侦听器。

https://github.com/Skycoder42/QHotkey

这是一个基于Qt的库,似乎已经维护了。