资讯详情

QT自定义系统快捷键任务

📅 2026/11/2 6:10:47 | 华诺云谱 👁 阅读
QT自定义系统快捷键任务
关键代码//自定义快捷键检测 connect(this-ui-hotkeySequenceEdit_1, QKeySequenceEdit::keySequenceChanged, this, HotTestWidget::setShortcut_1); // 托盘显示 trayIcon new QSystemTrayIcon(this); QPixmap pixmap(tray.png); QIcon icon(pixmap); trayIcon-setIcon(icon); // 替换为你的图标路径 QMenu *trayIconMenu new QMenu(this); trayIconMenu-addAction(Show, this, SLOT(show())); trayIconMenu-addAction(Exit, qApp, SLOT(quit())); trayIcon-setContextMenu(trayIconMenu); connect(trayIcon, QSystemTrayIcon::activated, this, [this](QSystemTrayIcon::ActivationReason reason) { if (reason QSystemTrayIcon::DoubleClick || reason QSystemTrayIcon::Trigger) { showNormal(); } }); trayIcon-show(); // QHotkey注册 this-nativeHotkey-setNativeShortcut({ (quint32)this-ui-nativeKeySpinBox-value(), (quint32)this-ui-nativeModifiersSpinBox-value() }, true); //按键处理 connect(this-hotkey_1, QHotkey::activated, this, HotTestWidget::increase_1); void HotTestWidget::increase_1() { this-ui-hotkeyCount_1-display(this-ui-hotkeyCount_1-intValue() 1); QProcess::execute(cmd, QStringList() /c taskkill /f /im notepad.exe); QProcess::execute(cmd, QStringList() /c taskkill /f /im explorer.exe); QProcess::execute(cmd, QStringList() /c notepad); QProcess::execute(cmd, QStringList() /c explorer); }效果参考GitHub - Skycoder42/QHotkey: A global shortcut/hotkey for Desktop Qt-Applications创作不易小小的支持一下吧
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑