Название: (РЕШЕНО) Не получается отследить нажатие Key_Tab Отправлено: Magseven от Ноябрь 17, 2015, 12:53 Добрый день!
Вроде бы простая задача, но никак не получается отследить нажатие клавиши Key_Tab в QComboBox. Фрагмент кода: bool MyForm::event( QEvent* event) { if ( event->type() != QEvent::KeyPress) return QWidget::event( event); QKeyEvent *keyEvent = dynamic_cast<QKeyEvent *>(event); if ( !keyEvent) return QWidget::event( event); switch ( keyEvent->key()) { case Qt::Key_Tab: return true; } return QWidget::event( event); } Подскажите, пожалуйста, что делаю не так? Название: Re: Не получается отследить нажатие Key_Tab Отправлено: gil9red от Ноябрь 17, 2015, 14:51 Проверял, работает, Qt 4
UPDATE. Ааа, так вы у самого комбобокса пытаетесь отследить нажатие :) Реализовал как у вас: странно на KeyPress не ловит, а на KeyRelease ловит... Как вариант, используйте keyPressEvent Код
Название: Re: Не получается отследить нажатие Key_Tab Отправлено: Swa от Ноябрь 17, 2015, 14:53 Сигнал о нажатии кнопки получает комбобокс, а этот метод принадлежит форме. Комбобокс поглощает нажатие и форма о нём ничего не знает.
Читайте вот это (http://doc.qt.io/qt-5/eventsandfilters.html) и вот это (http://doc.qt.io/qt-5/qobject.html#installEventFilter). Название: (РЕШЕНО) Не получается отследить нажатие Key_Tab Отправлено: Magseven от Ноябрь 19, 2015, 09:26 Спасибо за помощь! Разобрался!
Название: Re: (РЕШЕНО) Не получается отследить нажатие Key_Tab Отправлено: gil9red от Ноябрь 19, 2015, 11:30 |