pyqt5阻止QMdiArea关闭

时间:2018-08-23 21:35:57

标签: events 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 个答案:

没有答案