C ++ / Qt Global Hotkeys

Я работаю над приложением, которое мне нужно запустить в фоновом режиме и запустить функцию при нажатии определенной комбинации кнопок. Я вроде понимаю, что для этого требуется вызов API для конкретной платформы (WIN32, X11 и т. Д.), Но я не знаю, с чего начать. Кроме того, есть ли многоплатформенный способ добиться этого? Мне действительно нужно это для работы на Windows, Linux и OSX.

1

Решение

Подвести итоги:

  1. Система событий Qt может быть вариант (с некоторой помощью на уровне администратора системы / рабочего стола)
  2. Библиотека Qxt (больше не поддерживается)
  3. Или этот проект UGlobalHotkey

.
2. пока кажется лучшим вариантом. Хотя он больше не поддерживается, в настоящее время он работает с Qt5.

4

Другие решения

http://amin-ahmadi.com/2015/11/14/how-to-use-system-wide-hotkeys-in-your-qt-application/ показывает, как использовать Windows API RegisterHotKey в Qt.

Вам понадобятся коды клавиш для ваших горячих клавиш.

0

По вопросам рекламы [email protected]