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,不要使用 ...
随机推荐
- mysql-5.7 innodb_file_per_table 详解
一.innodb_file_per_table 的简要说明: 在很久很久以前也就是说还没有innodb_file_per_table 的那个年代,所有的innodb表的数据都是保存在innodb系统表 ...
- unity, 人物与移动跳台的交互
----更新(2015-7-1): 也可以用itween来移动跳台. ---- 例如人物跳到往复运动的移动跳台上后应随跳台运动. 要实现这个效果有两个思路,一是用运动学一是用动力学. 用动力学实现就是 ...
- 如何用adb抓取log?
在Androidclient的測试过程中,有时候我们会遇到闪退等异常情况. 这时我们能够通过adb抓取log.从而给开发提供很多其它信息. 一.下载ADB.exe 在网上搜索"adb ...
- GNU的strong symbol和weak symbol
首先,同样的原型的两个函数在连个不同的c文件中都有定义,把这两个c文件编译.连接在一起,也没有什么错误.原因就是因为,gcc中有一个strong symbol和weak symbol的概念.默认函数定 ...
- Python并发编程实例教程
有关Python中的并发编程实例,主要是对Threading模块的应用,文中自定义了一个Threading类库. 一.简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态 ...
- Latex中文utf-8编码的三种方式
我们知道Latex一般用CJK和CTEX宏包支持中文编辑,CJK和CTEX的默认编码是GBK,而windows下的默然编码就是GBK,因此CJK和CTEX不需要特殊配置就可以直接支持中文Latex编译 ...
- windows 7 IIS 7.0 装好后,HTTP Error 503. The service is unavailable.
IIS 7.0 装好后,出现 以上问题. 解决办法,如下图,设置应用程序池 ,
- 黑客编程教程(十三)多线程DOS程序
DOS基本原理相信大家都已经很熟悉了,DOS工具大家也用的很熟悉.在群里 经常有人说什么时候去DOS什么东西. 现在我们就自己编写一个DOS工具. #include <winsock2.h> ...
- 新手福利:Apache Spark入门攻略
[编者按]时至今日,Spark已成为大数据领域最火的一个开源项目,具备高性能.易于使用等特性.然而作为一个年轻的开源项目,其使用上存在的挑战亦不可为不大,这里为大家分享SciSpike软件架构师Ash ...
- Ajax实现异步刷新验证用户名是否已存在
由于要做一个注册页面,看到许多网站上都是使用Ajax异步刷新验证用户名是否可用的,所以自己也动手做一个小实例 都是简单的实例,所以直接发代码 静态页面Ajax.html <html> &l ...