007.PyQt5_继承关系

文章讨论了Qt框架中的对象继承体系,特别是QObject作为所有Qt对象的基类,以及如何使用Python的mro()方法来查看类的继承顺序。内容涵盖了控件的共性和特性,如名字、位置、大小和样式,以及用户交互和容器功能。学习策略是从顶层对象QObject开始,逐步深入到具体的控件类。
摘要由CSDN通过智能技术生成
  • 继承关系
  • 不同的控件有:
    • 相同的共性:名字、矩形区域、位置、大小、可以设置样式...
    • 不同的特性:展示内容、接收输入、用户交互、容器、框架...
  • 从上图列出的所有基类可以看到,QObject 是所有的 Qt 对象的基类
    print(QObject.__subclasses__())
    
  • 通过上面的代码可以查看QObject的所有子类
  • QObejct 的父类是什么呢?这就需要用到 mro
    mro:Method Resolution Order,方法解析顺序,可以打印出来类的继承顺序
  • 示例
    from PyQt5.Qt import *
    
    pmros=QObject.mro()
    for mro in pmros:
        print(mro)
    
  • 输出结果
    <class 'PyQt5.QtCore.QObject'>
    <class 'sip.wrapper'>
    <class 'sip.simplewrapper'>
    <class 'object'>
    
  • 运行结果:可以看到Qobject(pyqt 的基类)也是继承自 object (python 的基类)

继承关系

  • 父子继承关系,我们将所有子类相同的特性都写到父类中,子类中分别写入各自不同的特性
  • 那么,我们在学习对象的时候,就可以先学顶层对象QObject(先学所有对象的共有属性方法),再学次顶层对象QWidget(学习所有控件的共有属性和方法),最后单独学习每一个对象(学习各个对象独有属性和方法)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值