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

时间:2024-10-14 08:03:08

QObject对象有关父子关系的函数,以及应用的操作。

1.设置父对象

1、设置父对象:obj.setParent(p)参数p,是obj要设置的父对象。类似与在实际写控件时,将父控件当子控件的参数,形成父子关系。

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

2.获取父对象

1、获取父对象:obj.parent()父对象只能由一个,如果多次设置父对象,那么最后会覆盖掉前面的。

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

3.获取下层子对象

1、获取子对象:obj.children()返回一个列表。获取所有下一层子对象。例如:查找父窗口对象(self)下的所有对象:self.children()

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

4.查找单个子对象

1、找子对象:obj.findCh坡纠课柩ild(类型(或类型元组),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对象的父子关系进行操作

5.查找多个子对象:

1、找子对象:obj.findChildren(类型(或类型元组),ID(设置的对象名), 查找选项):1)第二个和第三个是可选参数:ID(设置的对象名), 查找选项。2)第一参数是子对象的类型,限定查找的对象的类型,可以是一个,如果是多个,应以元组类型传参。3)返回所有最底层的对象一个列表。例如:查找父窗口对象(self)下的所有子对象:self.findChild((QLabel,QPushButton))

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

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

PyQt5-如何对QObject对象的父子关系进行操作
© 手抄报圈