Название: [РЕШЕНО] Горячие клавиши в приложении Отправлено: Alexorleon от Июль 24, 2013, 13:11 Здравствуйте, подскажите решение в следующем вопросе.
Как динамически организовать создание горячей клавиши? Объясняю подробно: По аналогии с настройкой горячих клавиш в linux, нужно отловить комбинацию нажатых клавиш. Что нажал, то и подставилось в комбинацию (в строку). Ctrl+Alt+... Копаю в сторону QAction, QKeySequence и QShortcut, но во всех примерах комбинация задается сразу. Например так QKeySequence(Qt::CTRL + Qt::Key_P); или так myShortcut= new QShortcut(Qt::SHIFT + Qt::Key_B,this); connect(myShortcut, SIGNAL(activated()), this, SLOT(setCameraBack())); А вот как реализовать это динамически? Возможно ли это стандартными средствами? Название: Re: Горячие клавиши в приложении Отправлено: kambala от Июль 24, 2013, 13:35 keyPressEvent
Название: Re: Горячие клавиши в приложении Отправлено: Alexorleon от Июль 24, 2013, 13:46 keyPressEvent То что keyPressEvent это понятно, есть ли в QKeySequence или QShortcut стандартный метод для считывания нажатий нескольких клавиш по keyPressEvent. Название: Re: Горячие клавиши в приложении Отправлено: kambala от Июль 24, 2013, 14:21 QKeySequence(keyEvent->key() + keyEvent->modifiers())
еще можно было погуглить, первые же ссылки выдают нужный результат: http://qt-project.org/doc/note_revisions/273/455/view http://stackoverflow.com/questions/6647970/how-can-i-capture-qkeysequence-from-qkeyevent-depending-on-current-keyboard-layo Название: Re: Горячие клавиши в приложении Отправлено: VPS от Июль 24, 2013, 15:38 Если я правильно понял, то можно взять код, в исходниках QtCreator (как это работает, можно посмотреть внизу диалога Options - Keyboard).
Файл: qt-creator-src\src\plugins\coreplugin\dialogs\shortcutsettings.cpp Название: Re: Горячие клавиши в приложении Отправлено: Alexorleon от Июль 24, 2013, 16:39 Огромное всем спасибо, а то уже велосипед начал изобретать.
|