bool ReaderDict::eventFilter( QObject * watched, QEvent * event ) { if(event->type() == QEvent::ApplicationDeactivate) { if(event->type() == QEvent::ApplicationDeactivate) { qDebug()<<"main deactive"; QWidgetList list = qApp->topLevelWidgets(); for(int i =0;i<list.length();i++) { if(list[i] != this && (list[i]->windowFlags() & 0x8) && !(list[i]->windowFlags() & 0x2)) //不需要隱藏主窗口,隐藏非dialog且是popup的窗口 { list[i]->hide(); qDebug() << list[i]->metaObject()->className(); } } } return false; } return false; }