pyqt设计界面类一般采用designer先实现界面相关控件的布局,然后通过PyUIC工具转换成python文件,但designer实现信号槽和事件等操作较复杂,这些操作常需要在代码中修改。从实现的角度上,我们可以直接在PyUIC工具准换成python文件中修改完善代码使其实现我们想要的功能,但从开发的角度,直接在转换文件上修改存在很大弊端,那就是每次修改界面需要重新使用PyUIC工具转换python文件,此时,之前我们手动添加的逻辑代码会被覆盖掉,需要重新添加,这样开发的效率极低,为了方便我们自行添加代码,可以通过类继承的方式来实现自定义逻辑。下面通过一个简单实例来介绍类继承的方法。
1、用designer设计一个简单界面并通过PyUIC工具转换成Python文件
2、直接使用转换文件与类继承方式实现界面比较
(1)直接使用转换生成的类生成界面
(2)继承转换生成的类,以继承子类生成界面
最终实现的结果均为:
3、总结
pyqt类继承可以便于我们实现自定义的逻辑,因此一般开发通常采用designer设计UI界面+继承子类实现信号槽、事件以及其他代码逻辑的模式。
上述仅仅讲述了python类继承的一些简单知识,关于python类继承的相关理论可以参考:
Python入门 class类的继承 - 知乎 (zhihu.com)
Python类的继承关系及super的用法 - 知乎 (zhihu.com)
python中的类class: 继承、覆盖、重写、重载、扩展、多态、封装_重写class_Just Jump的博客-CSDN博客
Python:类的继承,调用父类的属性和方法基础详解_python继承父类的属性和方法_奥卡姆的剃刀的博客-CSDN博客