Название: Перехватить нажатие Tab Отправлено: mal от Сентябрь 16, 2010, 13:46 Дано: есть виджет. QMainWindow или QDialog - не суть.
В виджете размещено несколько чайлдов. По табуляции идет смена фокуса по этим чайлдам. Перекрытие keyPressEvent как у парента, так и у чайлдов ничего не дает - не приходит туда событие о нажатии Tab . Вопрос: как в паренте этих чайлдов перехватить нажатие Tab ? Ну или если не в паренте, то может быть в одном из чайлдов, чтоб потом кинуть сообщение паренту можно было о произошедшем собитии. В последнем случае можно изгалиться и узнать, что чайлд принял/потерял фокус (focusInEvent/focusOutEvent). Но это не даст мне информации, о том что было нажат именно Tab (или Shift+Tab). Можно привязаться к конкретной задаче, но сейчас я хочу узнать, как в данной ситуации отследить именно нажатие Tab. Поможите чем можете плз. Название: Re: Перехватить нажатие Tab Отправлено: kibsoft от Сентябрь 16, 2010, 13:58 Использовать фильтр событий: http://doc.trolltech.com/4.6/eventsandfilters.html#event-filters
Название: Re: Перехватить нажатие Tab Отправлено: mal от Сентябрь 16, 2010, 14:07 Да. Спасибо. Так и сделал.
Код: bool CMainWnd::eventFilter(QObject *obj, QEvent *ev) |