Just as for any other event, you need to cast it to more specific type to get event properties. The class is QApplicationStateChangeEvent
. The documentation is surprisingly silent about it, but it exists and is declared in event.h
. The following code works fine in my Qt 5.1 installation:
#include <QApplicationStateChangeEvent>
bool MainWindow::eventFilter(QObject *o, QEvent *e) {
if (e->type() == QEvent::ApplicationStateChange) {
qDebug() << "state:"
<< static_cast<QApplicationStateChangeEvent*>(e)->applicationState();
}
return QMainWindow::eventFilter(o, e);
}