PyQT中多重继承,其中继承的父类有QObject或QObject的子孙类
如果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 QObject
class 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_())
输出结果为:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAABYCAIAAACVur4fAAACwklEQVR4nO3c0XmrIACGYeZygy7iPE7jtXswTHqRGEFBtGgB/++9OylJ7HP4qkaJmaZpmqZXgh060w02Nex57NAZY4zmL98iO3TG9OPh8eZYAMAzEQCkEQCkEQCkEQCkEQCkeQHYodv/BCl/AFCVTQBm72Pv/AFAVbaHQGNvvoKzOH8AUIvoOQAdQEHqJPgzi+PH9TkD3ES+kfAgD+4/eCn2AJDGOQCk8SkQpHEdANK4EgxpBABpBABpBABpBABpBABpBABpBABpwgEkv+tI9suQlDgBLLcxvN1/RffsDCs4I4nhoVYBLP/HY39/A8dnVfF7jAjgoaIBuP/09w3zmPeAwbvd37kRdI7HG7b+wbnbRq+dhd9Xi23h8nbnNxWNOBSAa/nuxfescHYSY7+e9nY7LDzomBsDCG2h+3bsAR4qFoAdusifuu8Nn4lgxj45rKIAQltIAALiJ8He8X/oZ4F5s7I7vbavkEQAuFr8EGgx9u7OYG8PEDppJgBU7EAA/uP+OYA33j28f73s0CWPlPxnJAXf8c9npacCOLupaMSRPYD34U7X9+E9wHrgPF92TxWOfrwZuUbxjwGU/yQWdxC+EgzUFID/FTCRk/HzT//5yXrZ4u+Fe9UTAFAAAUAaAUAaAUAaAUAaAUCacACsCEMrK8K8TSsyJ4nhoZpYETbfVjQ/p8CVJQJ4qKZWhK23Kw8rwtDYirDNC2RhRRgaWxF27QEQ6wHQ2Iowf2VOLgJAQyvCrj/5JQC0siIs9qefFWHI1MSKsO3995/RrAhDJuErwUBNAbAiDAXUEwBQAAFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFAGgFA2i+0gYZWPqixfgAAAABJRU5ErkJggg==" alt="" />
PyQT中多重继承,其中继承的父类有QObject或QObject的子孙类的更多相关文章
- Java中方法的继承以及父类未被子类覆盖的方法调用的问题
在看java继承这一块的时候发现了一个问题,即父类未被子类覆盖的方法是如何调用的? 是子类拥有了父类的该方法只是没有显示表示,还是子类调用了父类的该方法. 为此做了一下验证 代码如下: public ...
- C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.
C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式. 目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形 ...
- C++反汇编第四讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.
目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形式 一丶多重继承在内存中的表现形式 高级代码: class Father1 { ...
- python中多重继承与获取对象
1.python中多重继承 除了从一个父类继承外,Python允许从多个父类继承,称为多重继承. 多重继承的继承链就不是一棵树了,它像这样: class A(object): def __init__ ...
- java基础课程笔记 static 主函数 静态工具类 classpath java文档注释 静态代码块 对象初始化过程 设计模式 继承 子父类中的函数 继承中的构造函数 对象转型 多态 封装 抽象类 final 接口 包 jar包
Static那些事儿 Static关键字 被static修饰的变量成为静态变量(类变量) 作用:是一个修饰符,用于修饰成员(成员变量,成员方法) 1.被static修饰后的成员变量只有一份 2.当成员 ...
- javascript中子类如何继承父类
参考阮一峰的文章:http://javascript.ruanyifeng.com/oop/inheritance.html#toc4 function Shape() { this.x = 0; t ...
- C++反汇编第四讲,反汇编中识别继承关系,父类,子类,成员对象
C++反汇编第四讲,反汇编中识别继承关系,父类,子类,成员对象 讲解目录: 1.各类在内存中的表现形式 备注: 主要复习开发知识,和反汇编没有关系,但是是理解反汇编的前提. 2.子类继承父 ...
- Python多类继承中,子类默认继承哪个父类的构造函数__init__
[1]python中如果子类有自己的构造函数,不会自动调用父类的构造函数,如果需要用到父类的构造函数,则需要在子类的构造函数中显式的调用. [2]如果子类没有自己的构造函数,则会直接从父类继承构造函数 ...
- Mybatis自动生成的BO对象继承公共父类(BO中过滤掉公共属性)
使用mybatis的代码生成工具:mybatis-generator,如果自动生成的BO都有公共的属性,则可以指定这些BO继承父类(父类中定义公共属性) 1.定义父类 注意:属性public,不要使用 ...
随机推荐
- linux yum源安装
#1.安装remi源mkdir /disk1/toolscd /disk1/toolsrpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-relea ...
- Cocos2d-x 3.0final 终结者系列教程03-源代码文件夹说明
话说今天从霍营到回龙观,走到天鑫家园东路.我肋哥去,堵死我啦.7:30出门,9:10还没到回龙观. 北京这交通真是坑爹.回过头想想.怪自己走小路,有时候确实快.可有时候真堵. 堵了35分钟后果断掉头, ...
- Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: “object”未包括“get_Range”的定义
asp.net操作Excel合并单元格时,抛出了异常: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: "object" ...
- tornado源码分析-模块介绍
1.Core web framework tornado.web - web框架功能模块,包括RequestHandler和Application两个重要的类 tornado.httpserver - ...
- AC Again hdoj 1582 搜索
AC Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 李洪强iOS之集成极光推送二iOS 证书 设置指南
李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...
- 多核cpu电脑运行多线程程序的问题
呵呵,当初我学多线程时也遇到过这样的问题,也是输出的结果每次都不一样.后来我找到原因了---都是多核惹得祸. 我猜你的电脑应该也是多核的.单核的cpu在处理多线程时每次只能执行一跳指令,也就是说无论你 ...
- xml相关术语说明
<project xmlns="http://maven.apache.org/POM/4.0.0" --命名空间,类似包名,因为xml的标签可自定义,需要命名空间来区分x ...
- 1326: The contest(并查集+分组背包)
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1326 殷犇有很多队员.他们都认为自己是最强的,于是,一场比赛开始了~ 于是安叔主办了一场比赛,比赛 ...
- 【WPF】获取下拉列表(ComboBox)的选项(ComboBoxItem)的内容
需求:给下拉列表ComboBox注册一个选项改变时触发的事件,想要获取到当前选中的选项的内容. // 给ComboBox注册一个选项改变的事件 myComboxBox.SelectionChanged ...