我有一个小部件,在它被破坏后必须进行一些手动清理(停止一些线程)。但是由于某种原因,小部件的“破坏”信号没有触发。我做了这个小例子来演示这个问题。
import sys
from PyQt4 import QtGui
class MyWidget(QtGui.QWidget):
def __init__(self, parent):
super(MyWidget, self).__init__(parent)
def doSomeDestruction():
print('Hello World!')
self.destroyed.connect(doSomeDestruction)
class MyWindow(QtGui.QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
self.widget = MyWidget(self)
app = QtGui.QApplication(sys.argv)
window = MyWindow()
window.show()
ret = app.exec_()
sys.exit(ret)
我希望它打印“Hello World!” 当主窗口关闭时。但是,它不打印任何内容。