QxtGlobalShortcut三方实现
参考链接
测试环境
vs2019 + Qt5.14.2 + Qt插件
vs配置QxtGlobalShortcut
-
项目属性配置
C/C++ -> 附加包含目录:- .
- qxtglobalshortcut5\gui
- qxtglobalshortcut5\core
预处理器: - BUILD_QXT_CORE
- BUILD_QXT_GUI
-
添加源文件
- 添加需要的源文件即可
- 可参考该图
-
测试代码
#include "shortcutDemo.h"
#include <QDebug>
#include "qxtglobalshortcut.h"
#include <QShortCut>
shortcutDemo::shortcutDemo(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
// 全局快捷键
QxtGlobalShortcut* globalShortcut = new QxtGlobalShortcut(this);
bool ok = globalShortcut->setShortcut(QKeySequence(Qt::CTRL + Qt::ALT + Qt::Key_Right));
if (ok) {
qDebug() << "已注册改热键";
connect(globalShortcut, &QxtGlobalShortcut::activated,
[=]() {qDebug() << "shortcut activated"; });
}
else {
qDebug() << "改热键已被注册";
}
// 本地快捷键
QShortcut* localShortcut = new QShortcut(this);
localShortcut->setKey(QKeySequence(Qt::CTRL + Qt::Key_Left));
connect(localShortcut, &QShortcut::activated, [=] {qDebug() << "localShortcut activated"; });
}