如何正确捕获来自 PySide QtUiTools.QUiLoader() 设置的关闭事件?我可以让实例化类连接到小部件和其他所有东西,但我不确定如何在此设置中拦截信号。理想情况下,我希望所有关闭调用都通过我的 closeEvent(显然),以便我可以确保关闭窗口是安全的。但是由于我的 self.closeEvent() 绑定到我的 View(QtWidgets.QMainWindow) 而不是 self._qt.closeEvent(),我不知道如何使用 self._qt.closeEvent() 方法来覆盖它在这种情况下。或者有没有更好的方法来设置它来捕获那些窗口事件?# Compatible enough with Pyside 2from PySide import QtGui as QtWidgetsfrom PySide import QtUiToolsfrom PySide import QtCoreclass 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)
添加回答
举报
0/150
提交
取消