博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PyQT中多重继承,其中继承的父类有QObject或QObject的子孙类
阅读量:7276 次
发布时间:2019-06-29

本文共 1108 字,大约阅读时间需要 3 分钟。

如果Child多重继承(Parent_1,Parent_2,Parent_3),其super函数

super(Child, self).__init__()

 则会执行继承的最左侧的父类:Parent_1.__init__()

 

但是如果Parent_2是QObject或QObject的子孙类,

在Child的中__init__()中执行QObject.__init__(self)

则会使Parent_3.__init__(self)被执行

原因不明。。。。。。。。。

 

例子哈:

from PyQt5.QtCore import  QObjectclass Parent_1:    def __init__(self):        print('Parent_1.__init__')        class Parent_2(Parent_1):    def __init__(self):        super(Parent_2, self).__init__()        print('Parent_2.__init__')        class Parent_3:    def __init__(self):        print('Parent_3.__init__')      class Child_2( QObject , Parent_2,Parent_3):        def __init__(self):            #QObject.__init__(self)             super(QObject, self).__init__()            #super(Child_2, self).__init__()            if __name__ == '__main__':     import sys    from PyQt5.QtWidgets import QApplication    app = QApplication(sys.argv)   #####################################################           print('---------------------------')    child_2 =     Child_2()      #####################################################       sys.exit(app.exec_())

 输出结果为:

 

转载地址:http://eeicm.baihongyu.com/

你可能感兴趣的文章
垃圾收集的种类
查看>>
HRegionServer启动后自动关闭的问题
查看>>
maven插件assembly利用profiles打不同环境发布包
查看>>
Android系统学习总结1--init和Zygote
查看>>
linux 下查看一个进程运行路径
查看>>
CSS 优先级
查看>>
ElasticSearch 集群状态图形化界面:cerebro
查看>>
Spark内存管理模型
查看>>
shell脚本基础
查看>>
shell 脚本总结
查看>>
将非工程下的图片显示到前端jsp的方法
查看>>
jQuery 常用工具函数
查看>>
TreeSet实现排序接口
查看>>
scws分词 自定义词库的方法
查看>>
Qt开发环境如何部署Mac OS(1)
查看>>
10大iOS开发者最喜爱的类库
查看>>
合并数组去重
查看>>
Windows使用MinGW_w64安装gcc
查看>>
Java URLClassLoader实现插件功能开发
查看>>
Thread线程的停止与Timer定时器的停止方法
查看>>