Я пишу консольное приложение, которое позволяет вам использовать ECMAScript для перемещения мыши, определения горячих клавиш и т. Д. Мышь работает, и теперь я пытаюсь добавить возможность определять горячие клавиши, которые при нажатии будут вызвать функцию обработчика QtScript.
Проблема в том, что когда я пытаюсь использовать QxtGlobalShortcut для создания горячей клавиши, я получаю SIGSEGV, и все падает.
Вот код:
int Keyboard::hot_key(QString key) {
QxtGlobalShortcut shortcut;
shortcut.setShortcut(QKeySequence(key));
shortcut.setEnabled(true);
connect(&shortcut, SIGNAL(activated()), this, SLOT(hot_key_pressed()));
return 0;
}
Эта строка QxtGlobalShortcut shortcut;
, если я потрошу всю функцию, кроме этой, она все равно выдаст ошибку seg.
И отладчик говорит:
1 ZNK17QxtGlobalShortcut8shortcutEv C:\Qxt\lib\QxtGui.dll 0 0x6f6f14a6
2 ZN17QxtGlobalShortcutC1EP7QObject C:\Qxt\lib\QxtGui.dll 0 0x6f6f14f7
3 Keyboard::hot_key keyboard.cpp 16 0x403c0c
4 Keyboard::qt_metacall moc_keyboard.cpp 74 0x404740
5 QMetaObject::metacall qmetaobject.cpp 237 0x8f5ff8
Учитывая, что, на мой взгляд, не все так просто, как мне кажется, с помощью горячих клавиш Windows, мне бы очень хотелось использовать Qxt, но пока я просто бьюсь об стену. Если бы кто-то мог указать мне правильное направление или даже порекомендовать какую-нибудь другую библиотеку, которая могла бы мне помочь, или учебник по горячим клавишам, который был бы потрясающим.
Заранее спасибо!