首页 PyQt5教程 PyQt5对象父子关系继承与查找
pay pay

PyQt5对象父子关系继承与查找

日期: 2021年11月19日 14:26
栏目: PyQt5教程
阅读: 39
作者: python自学网

摘要: 我们在实例化对象的时候往往不止一个,而这些对象都会有一定的继承关系,PyQt5也不例外,而且在这点PyQt5做的比其他GUI框架更加优秀。PyQt5对象之间的父子关系继承与查找设置起来很简单。我们先看一下下面的代码:

我们在实例化对象的时候往往不止一个,而这些对象都会有一定的继承关系,PyQt5也不例外,而且在这点PyQt5做的比其他GUI框架更加优秀。PyQt5对象之间的父子关系继承与查找设置起来很简单。我们先看一下下面的代码:

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)
        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_())

这里给大家注释一下

        obj1.setParent(obj2)  # 把obj2设置为obj1的父对象
        obj3.setParent(obj1)  # 把obj1设置为obj3的父对象
        print(obj1.parent())  # 获取父对象
        print(obj2.children()) # 获取obj2的子对象
        print(obj2.findChild(QObject))   # 获取直接的子对象
        print(obj2.findChildren(QObject))   # 获取所有的子对象
回顶部