Событие перегрузки в QMainWindow блокирует все остальные события - PullRequest
0 голосов
/ 01 мая 2018

Я хочу обработать QEvent :: WindowDeactivate, и для этого я перегружаю эту функцию в моем классе QMainWindow.

class MainWindow : public QMainWindow
....
bool event(QEvent * e); 
....
bool MainWindow::event(QEvent *e)
{
    if(e->type() == QEvent::WindowDeactivate){
        //do smth
    }
}

И после этого эта функция событий начинает перехватывать все другие события в моей программе. Все кнопки и виджеты в этом окне перестают реагировать на щелчки мыши, и события клавиатуры также перехватываются. Есть ли способ это исправить?

1 Ответ

0 голосов
/ 01 мая 2018

Я решил проблему: пришлось добавить

return QWidget::event(e); 

в конце реализации события. И после этого - все отлично работает.

...