2.2 QObject-对象父类、子类设置和查找

一、QObject-对象父类、子类设置和查找

1.基本知识

  • 设置父对象:obj1.setParent(obj2)
  • 获取父对象:print(obj1.parent())
  • 获取孩子:print(obj2.children())
  • 获取直接的子对象:print(obj2.findChild(QObject))
  • 获取所有的子对象:print(obj2.findChildren(QObject))

2.代码

from PyQt5.Qt import *
import sys

class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("父子关系")
        self.resize(600,500)
        self.func_list()  #一定要调用

    def func_list(self):
        self.func()

    def func(self):
        obj1=QObject()
        print('obj1',obj1)
        obj2=QObject()
        print('obj2',obj2)
        obj3=QObject()
        print('obj3',obj3)
        #设置父类
        obj2.setParent(obj1)
        obj3.setParent(obj2)
        #输出obj2的父类和孩子
        print(obj2.parent())
        print(obj2.children())

        print(obj1.findChild(QObject)) #获取直接的子对象
        print(obj1.findChildren(QObject))#获取所有的子对象

if __name__=='__main__':
    app=QApplication(sys.argv)
    window=Window()
    window.show()
    sys.exit(app.exec_())

3.运行结果

  • 弹窗
  • 控制台
posted @   Trouvaille_fighting  阅读(515)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示

目录导航