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 класс, он просто закрывает его.

0 ответов

Другие вопросы по тегам