第三节 PyQt5之——QObject对象(所有控件的基类)

在Qt中QObject是所有类的基类,换而言之是在Qt中所有的类均继承自QObject,这使得QObject中的所有方法在其他类中使用。所以学习QObject中的方法有其特殊的意义。

继承结构测试的方法

# 创建一个QObject对象
obj = QObject()
# 获得父类 
mros = QObject.mro()
for mro in mros:
    print(mro)
# <class 'PyQt5.QtCore.QObject'>
# <class 'sip.wrapper'>
# <class 'sip.simplewrapper'>
# <class 'object'>

对象名称、属性相关操作

# 创建一个QObject对象
obj = QObject()
# 设置对象名称
obj.setObjectName('new_object_name')
# 获取对象的名称
obj.objectName()
# 添加对象动态属性与值
obj.setProperty("property_name",value)
# 获得对象某一属性对应的值
obj.property("property_name")  # 将返回value
# 获取一个对象中通过setProperty()设置的所有属性名称
obj.dynamicPropertyNames()

应用场景用于qss的ID选择器和属性选择器,同时可以应用于装饰墙的信号与槽;

父子对象操作

# 创建QObject对象
obj1 = QObject()
obj2 = QObject()
# 设置父对象,将obj1设置为obj2的父对象
print(obj1)		# return:<PyQt5.QtCore.QObject object at 0x000001CE6482EA68>
obj2.setParent(obj1)
# 获取父对象
obj2.parent()		# return:<PyQt5.QtCore.QObject object at 0x000001CE6482EA68>
# 获取所有直接子对象
print(obj2)		# return:<PyQt5.QtCore.QObject object at 0x0000024CA4F9EAF8>
obj1.children()		# return:[<PyQt5.QtCore.QObject object at 0x0000024CA4F9EAF8>]
# 获取某一个指定名称和类型的子对象
obj.findChild(参数1, 参数2, 参数3)
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值