Python PySide QTabWidget中选项卡的触发关闭事件
我已经编写了3个独立的小部件,每个小部件都包含一个“closeEvent”。但是,当小部件作为选项卡放置在主窗口中时,不会触发关闭事件。当主窗口关闭时,如何发出信号以正确触发每个选项卡的“closeEvent” 我已经尽了最大努力简化代码,以专注于主要目标。我想为每个选项卡发出关闭事件,这样将来当我添加更多选项卡时,它将更加灵活,并且每个工具仍然是自包含的Python PySide QTabWidget中选项卡的触发关闭事件,python,pyside,Python,Pyside,我已经编写了3个独立的小部件,每个小部件都包含一个“closeEvent”。但是,当小部件作为选项卡放置在主窗口中时,不会触发关闭事件。当主窗口关闭时,如何发出信号以正确触发每个选项卡的“closeEvent” 我已经尽了最大努力简化代码,以专注于主要目标。我想为每个选项卡发出关闭事件,这样将来当我添加更多选项卡时,它将更加灵活,并且每个工具仍然是自包含的 closeEvent方法仅在收到关闭请求时为顶级窗口调用,因此它不适合您的用例。但是,在应用程序关闭时会发出几个信号,您可以连接到这些信号
closeEvent
方法仅在收到关闭请求时为顶级窗口调用,因此它不适合您的用例。但是,在应用程序关闭时会发出几个信号,您可以连接到这些信号
例如,你可以这样做:
class TabA(QtGui.QWidget):
def __init__(self, parent=None):
super(TabA, self).__init__(parent)
...
QtGui.qApp.aboutToQuit.connect(self.handleClose)
def handleClose(self):
print "closing Tab A"
该信号在事件循环退出之前发出,还有一个QtGui.qApp.lastWindowClosed
信号在主窗口关闭后发出
(请注意:不要尝试使用\uu del\uu
来实现此目的,因为PyQt中严格未定义关机期间的确切行为,并且在不同版本之间可能会发生变化)
class TabA(QtGui.QWidget):
def __init__(self, parent=None):
super(TabA, self).__init__(parent)
...
QtGui.qApp.aboutToQuit.connect(self.handleClose)
def handleClose(self):
print "closing Tab A"