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,不要使用 ...
随机推荐
- Spring MVC 的xml一些配置
1.可以自动加载注解驱动,通过注解找到对应Controller <!-- spring MVC 注解驱动 --> <mvc:annotation-driven></mvc ...
- unity, multi pass shader中的surface pass
今天尝试写一个multi pass shader,但其中有一个Pass是surface pass,总是莫名奇妙地报错.后来看到下面帖子: http://forum.unity3d.com/thread ...
- VS中批量删除注释
批量删除: 按ctrl+H 选上正则表达式 Find what: //.* Replace with: (空) 点replace all就行了
- Django2.1更新日志
前两天本来想把2.1的release note做个中文摘要,后来发现没什么大的改动. 不过更新以后还是发下一个bug,或者是已经feature本身的改动,就是QueryDict这个类的实例不能再往里放 ...
- maven(4)------maven核心pom.xml文件常用元素分析
在maven项目中,pom文件是核心文件 pom.xml: <?xml version="1.0" encoding="UTF-8"?> <p ...
- mysql utf8mb4 所引起的问题
有一个项目需要存储ios的表情(emoji表情)这种表情虽然是utf8编码,但是一个字符需要占用4个字节,而MySQL utf8编码只能存放3字节的字符.在MySQL 5.6中,可以设置编码为utf8 ...
- Django 缓存、信号
Reference: http://www.cnblogs.com/lianzhilei/p/6365877.html 缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访 ...
- .Net应该学什么怎么学(四)
八.ASP.Net ASP.Net是.Net中用来开发动态Web应用程序的技术,ASP.Net主要分ASP.Net WebForm(以后简称WebForm)和ASP.Net MVC两种技术,大部 ...
- 手机触屏滑动图片切换插件swiper.js
今天给大家分享一款手机触屏滑动图片切换插件swiper.js是一款swiper手机触屏滑动图片幻灯片,适合各种尺寸.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div ...
- 【WPF/WAF】设置快捷键(Shortcut Key)
基于WAF框架:WPF Application Framework (WAF) View层XAML中设置热键. <Window.InputBindings> <!--<KeyB ...