PyQt5-如何对QObject对象的父子关系进行操作

2025-10-12 10:18:55

1、找子对象:obj.findChild(类型(或类型元组),ID(设置的对象名), 查找选项):

1)第二个和第三个是可选参数:ID(设置的对象名), 查找选项。

2)第一参数是子对象的类型,限定查找的对象的类型,可以是一个,如果是多个,应以元组类型传参。

①如果第一个参数仅一个类型:obj.findChild(类型):

返回符合参数类型的第一个子对象。

例如:查找父窗口对象(self)下的子对象:

self.findChild(QLabel)

PyQt5-如何对QObject对象的父子关系进行操作

2、②如果第一个参数是类型元组:obj.findChild((类型元组)):

返回的仍然是第一个找到的子对象。

例如:查找父窗口对象(self)下的子对象:

self.findChild((QPushButton,QLabel)

PyQt5-如何对QObject对象的父子关系进行操作

3、obj.findChild如果有第二个可选参数:obj.findChild(type,name)

必须是提供了有setObjectName()函数提供的名字。

例如:查找父窗口对象(self)下的某个子对象:

self.findChild(QPushButton,'btn-d')

PyQt5-如何对QObject对象的父子关系进行操作

4、obj.findChild如果有第三个可选参数:obj.findChild(type,name,查找选项)

第三个参数有两个选项:

①QQt.FindChildrenRecursively,(默认选项,可遍历所有子层查找)

②Qt.FindDirectChildrenOnly,(仅在它的下层查找。)

例如:查找父窗口内的某个控件对象:

递归查找:self.findChild(QLabel,'lab-b',Qt.FindChildrenRecursively)

 

直接查找:self.findChild(QLabel,'lab-b',Qt.FindDirectChildrenOnly))

PyQt5-如何对QObject对象的父子关系进行操作

1、找子对象:obj.findChildren(类型(或类型元组),ID(设置的对象名), 查找选项):

1)第二个和第三个是可选参数:ID(设置的对象名), 查找选项。

2)第一参数是子对象的类型,限定查找的对象的类型,可以是一个,如果是多个,应以元组类型传参。

3)返回所有最底层的对象一个列表。

例如:查找父窗口对象(self)下的所有子对象:

self.findChild((QLabel,QPushButton))

PyQt5-如何对QObject对象的父子关系进行操作

2、如果按第二个参数查找,必须是提供了有setObjectName()函数提供的名字。

PyQt5-如何对QObject对象的父子关系进行操作

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢