“前面的文章讲了新建一个面板的代码流程,但是它是面向过程的,这种编程思路繁琐且不易移植,而面向对象的编程思路就没有这些问题”
01 面向对象编程假设我们想制作几个面板,每个面板上有很多的控件,这是需求
按面向过程的思路,我们先制作一个面板,然后在面板上一个一个地添加控件,接着再制作第二个面板,再添加上面的控件。。。如果别人想制作其中的某个面板呢?他需要去全部的代码里找到想要的那部分,然后把它复制粘贴。。。
按面向对象的思路,我们把每个面板当成是一个对象,而对象是类的实例化,所以我们只需要创建对象的类,实现当对类进行实例化时,能够自动地把对象的所有属性和控件创建好,然后把这些类写入一个模块中(python脚本),当我想制作某个面板时,我只需要导入模块中相对应的类,然后对类进行实例化,创建对象,不就可以了嘛
由于QWidget是创建窗口的类,我们只需要定义一个类,继承自父类QWidget,就拿到了QWidget的所有属性和方法,同时又可以自定义自己的方法和属性
代码如下
from PyQt5.QtWidgets import *import sysclass Window(QWidget): def __init__(self): super().__init__() #调用父类的init方法 self.set