Событие перегрузки в QMainWindow блокирует все остальные события
Я хочу обработать QEvent::WindowDeactivate, и для этого я перегружаю эту функцию в моем классе QMainWindow.
class MainWindow : public QMainWindow
....
bool event(QEvent * e);
....
bool MainWindow::event(QEvent *e)
{
if(e->type() == QEvent::WindowDeactivate){
//do smth
}
}
И после этого эта функция событий начинает перехватывать все другие события в моей программе. Все кнопки и виджеты в этом окне перестают реагировать на щелчки мыши, и события клавиатуры также перехватываются. Есть ли способ это исправить?
1 ответ
Решение
Я решил проблему: пришлось добавить
return QWidget::event(e);
в конце реализации события. И после этого - все отлично работает.