Как закрыть приложение Qt по нажатию клавиши? |
Здравствуйте, гость ( Вход | Регистрация )
Как закрыть приложение Qt по нажатию клавиши? |
Гость_Racot_* |
3.3.2015, 21:41
Сообщение
#1
|
Гости |
Мне нужно чтобы приложение Qt закрывалось по нажатию определенной клавиши. Например Esc.
Не понятно мне потому что при нажатии клавиши событие нажатия передается в тот виджет который в фокусе. Для одного виджета я могу переопределить обработчик событий и завершить программу в этом обработчике. Но не буду же я переопределять обработчик для всех виджетов. |
|
|
arhohryakov |
4.3.2015, 8:40
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 14.1.2015 Пользователь №: 4315 Спасибо сказали: 3 раз(а) Репутация: 0 |
Создайте QAction. Назначте ему shortcut. Добавьте action в widget.
Если клавиша не обрабатывается виджетом, то она передаётся на обработку родителю. http://doc.qt.io/qt-5/qwidget.html#keyPressEvent http://doc.qt.io/qt-5/qaction.html#details |
|
|
lanz |
4.3.2015, 9:04
Сообщение
#3
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Или можно установить event filter на инстанс QApplication, перехватывать в нем нажатия клавиш и завершать приложение/посылать сигнал.
http://qt-project.org/doc/qt-4.8/eventsand...l#event-filters |
|
|
Текстовая версия | Сейчас: 28.3.2024, 14:51 |