pyqt5 предотвращает закрытие QMdiArea
У меня есть приложение pyqt5, которое использует QMdiArea
контроль внутри центрального по умолчанию QWidget
, но я не могу запретить пользователям закрывать его (нажав на эту кнопку в правом верхнем углу). Итак, я подкласс его, чтобы создать свой собственный класс, чтобы изменить его closeEvent
поведение, а также несколько других событий, чтобы я мог остановиться, когда что-то случится, как показано ниже:
class myWindow(QMdiArea):
def __init__(self, parent):
QMdiArea.__init__(self, parent)
def closeEvent(self, event):
event.ignore()
def changeEvent(self, event):
pass
def childEvent(self, event):
pass
Затем я объявляю это из основной формы, как показано ниже:self.mwin = myWindow(self.centerwidget)
Я вижу, когда загружается основная форма, она на самом деле создает объект myWindow, но когда я закрываю self.mwin
контроль во время выполнения, он даже не останавливается в closeEvent
метод (или любые другие методы события) myWindow
класс, он просто закрывает его.