对象删除
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Window')
self.resize(500, 500)
self.set_ui()
def set_ui(self):
self.QObject_delete()
def QObject_delete(self):
obj1 = QObject()
obj2 = QObject()
obj3 = QObject()
self.obj1 = obj1
obj2.setParent(obj1)
obj3.setParent(obj2)
obj1.destroyed.connect(lambda: print('obj1 destoryed'))
obj2.destroyed.connect(lambda: print('obj2 destoryed'))
obj3.destroyed.connect(lambda: print('obj3 destoryed'))
obj2.deleteLater()
print(obj1.children())
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())