Pyside uiLoader 捕获关闭事件信号

如何正确捕获来自 PySide QtUiTools.QUiLoader() 设置的关闭事件?


我可以让实例化类连接到小部件和其他所有东西,但我不确定如何在此设置中拦截信号。


理想情况下,我希望所有关闭调用都通过我的 closeEvent(显然),以便我可以确保关闭窗口是安全的。但是由于我的 self.closeEvent() 绑定到我的 View(QtWidgets.QMainWindow) 而不是 self._qt.closeEvent(),我不知道如何使用 self._qt.closeEvent() 方法来覆盖它在这种情况下。


或者有没有更好的方法来设置它来捕获那些窗口事件?


# Compatible enough with Pyside 2

from PySide import QtGui as QtWidgets

from PySide import QtUiTools

from PySide import QtCore


class View(QtWidgets.QMainWindow):

    def __init__(self, parent=None):

        super(View, self).__init__(parent=parent)

        self.setup()


    def closeEvent(self, event):


        # Do things

        event.accept()


    def setup(self):

        loader = QtUiTools.QUiLoader()

        fy = QtCore.QFile('example.ui')

        fy.open(QtCore.QFile.ReadOnly)

        self._qt = loader.load(fy, self)

        fy.close()


        self._qt.pCanceled.clicked(self._qt.close)


RISEBY
浏览 403回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python