八月 23

QObject父子对象的操作

import sys
from PySide2 import QtWidgets as qtw
from PySide2 import QtCore as qtc

app = qtw.QApplication()

window = qtw.QWidget(None)
window.resize(800, 800)

obj1 = qtc.QObject()
obj2 = qtc.QObject()

obj1.setParent(obj2)  # 设置父对象。如果多次设置父对象,以最后设置的为准
obj1.setObjectName('1')
print('parent: ', obj1.parent())  # 获取父对象

print('children: ', obj2.children())  # 获取的所有直接子对象,不递归查找

# findChild只能找到一个子对象。当有多个符合条件的子对象时,返回第一个
# 第一个参数为类型或类型元组,第二个参数为objectName,可以省略,
# 第三个参数为查找选项:qtc.Qt.FindChildrenRecursively(默认选项)
# 或 qtc.Qt.FindDirectChildrenOnly
print('findChild: ', obj2.findChild(qtc.QObject, '1'))

# findChildren能找到所有符合条件的子对象。
# findChildren的三个参数和findChild的三个参数一样
print('findChildren: ', obj2.findChildren(qtc.QObject))

sys.exit(app.exec_())


文章由安静原创,发表于www.ajnote.com。转载请注明出处

发表 2020年8月23日 自 anjing 类别 "Pyside2学习笔记

发表评论

电子邮件地址不会被公开。 必填项已用*标注