首页 PyQt5视频教程 QObject对象删除的方法move()
pay pay

QObject对象删除的方法move()

日期: 五月 19, 2023, 12:33 p.m.
栏目: PyQt5视频教程
阅读: 119
作者: Python自学网-村长

摘要: QObject中关于对象删除的方法我们先讲一个deleteLater(),这里要注意的是这个方法执行的时候是会等其他代码全部执行结束才会生效,哪怕是她下面的代码也会先执行。这节课要结合视频认真理解,其中关于信号和槽以及标签控件大家先做个简单的理解,我们到后面的章节会详细讲。

一、学习指导

QObject中关于对象删除的方法我们先讲一个deleteLater(),这里要注意的是这个方法执行的时候是会等其他代码全部执行结束才会生效,哪怕是她下面的代码也会先执行。这节课要结合视频认真理解,其中关于信号和槽以及标签控件大家先做个简单的理解,我们到后面的章节会详细讲。

二、代码演示

def func(self):
        obj1 = QObject()
        self.obj1 = obj1
        obj2 = QObject()
        obj3 = QObject()
        obj2.setParent(obj1)
        obj3.setParent(obj2)
        print(obj1)
        print(obj2)
        print(obj3)
 
        obj1.destroyed.connect(lambda :print('obj1被释放'))
        obj2.destroyed.connect(lambda :print('obj2被释放'))
        obj3.destroyed.connect(lambda :print('obj3被释放'))
 
        # del obj2
        print(obj2.deleteLater())
        print(obj1.children())
 
        # 案例
        label1 = QLabel(self)
        label1.setText('label1')
        label1.move(50,50)
        label1.setStyleSheet('background-color:green')
 
        label2 = QLabel(self)
        label2.setText('label2')
        label2.move(100,100)
        label2.setStyleSheet('background-color:green')
 
        label3 = QLabel(self)
        label3.setText('label3')
        label3.move(150,150)
        label3.setStyleSheet('background-color:green')
 
        # label2.deleteLater()
        del label2

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部