Pythondef minimizeApp(win, event): u""" Сворачивание главного окна из подченённого при сворачивании подчинённого @param win подченённое окно @param event событие изменения @return минимизмция произошла """ if event.type() == QtCore.QEvent.WindowStateChange: state = win.windowState() if state == QtCore.Qt.WindowMinimized: event.ignore() from src.FormMain import FormMain def minimizeAll(): for top_win in QtGui.QApplication.topLevelWidgets(): if isinstance(top_win, FormMain): top_win.showMinimized() QtCore.QTimer.singleShot(0, minimizeAll) return True return False
Pythonclass FormEditPhysPerson(QtGui.QDialog):... @QtCore.pyqtSignature('QEvent*') def changeEvent(self, event): u'Отработка события смены состояния окна' if not minimizeApp(self, event): QtGui.QDialog.changeEvent(self, event)
C++ (Qt)void CenteredDialog::changeEvent(QEvent* e){ if(e->type()==QEvent::WindowStateChange) { if(isMinimized() && parentWidget()) parentWidget()->showMinimized(); } QDialog::changeEvent(e);}