如何捕获鼠标和键盘操作

How to catch the mouse&keyboard operation

本文关键字:键盘 操作 鼠标 何捕获      更新时间:2023-10-16

Using Qt.从整个系统中的每个键捕获事件。

我知道win API可以做到这一点,但是qt如何编码。我的意思是没有钩子就可以做到,它可以在多个系统中运行。

能做到吗?应该不会吧?

全局快捷方式未在Qt中实现。Qxt是Qt的扩展库,提供一套跨平台实用程序类来添加Qt中不容易获得的功能。它具有全局快捷键(热键),即使应用程序最小化或隐藏,也可以检测按键。

编译 Qxt 后,通过将以下内容添加到您的 .pro 中,将您的应用程序链接到它:

CONFIG += qxt
QXT = core gui

并包括QxtGlobalShortcut

#include <QxtGlobalShortcut>

示例用法 :

QxtGlobalShortcut* shortcut = new QxtGlobalShortcut(window);
connect(shortcut, SIGNAL(activated()), window, SLOT(toggleVisibility()));
shortcut->setShortcut(QKeySequence("Ctrl+Shift+F"));

现在,当您按下该特定键序列时,即使您的应用程序被最小化或隐藏,也会调用该插槽。

不幸的是,这个项目不再维护,你可能在使用Qt 5.*编译它时遇到很多困难。但是,您可以查看源代码的特定部分,并仅使用应用程序中的相关部分。