发布时间:2022-05-14 文章分类:Python 知识 投稿人:赵颖 字号: 默认 | | 超大 打印

python如何封装pyqt5类

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

一、代码封装思路

1.分析哪些代码需要封装:需要封装的就是我们对窗体配置的代码

2.利用类的继承特性

3.调用父类Qwidget的构造方法super().__init__()

4.不要忘记调用自己本身自定义的方法初始化UI

二、GUI位置大小函数

GUI位置大小函数使用setGeometry

作用:这个函数相当于resize函数和move函数功能的合体。

函数使用格式:

控件对象.setGeometry(X轴,Y轴,宽度,高度)

三、信号相关

窗体上面所有的信号被app.exec_()死循环监听着。

信号只是在QT中针对发生了某个事件的一个说法。

槽是QT中发生的具体的某个事件执行的代码。

窗体上对GUI的行为都是某个事件的行为,GUI是被事件驱动的。

四、源码

importsys
fromPyQt5.QtWidgetsimportQWidget,QApplication,QPushButton

classMyClass(QWidget):
def__init__(self):
super().__init__()
self.initUI()
definitUI(self):
self.setWindowTitle("刘金玉编程")
self.setGeometry(30,40,300,200)
#self.resize(300,200)
#self.move(30,40)
btn=QPushButton("老刘",self)
btn.move(50,60)
#设置按钮的点击后关闭窗体的事件
btn.clicked.connect(self.close)
self.show()

if__name__=="__main__":
app=QApplication(sys.argv)
mc=MyClass()
app.exec_()

拓展:PyQt5的类

PyQt5的类存在与如下模块当中:

QtCore模块涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及到的 time、文件、目录、数据类型、文本流、链接、mime、线程或进程等对象。

QtGui模块涵盖多种基本图形功能的类; 包括但不限于:窗口集、事件处理、2D图形、基本的图像和界面 和字体文本。

QtWidgets模块包含了一整套UI元素组件,用于建立符合系统风格的classic界面,非常方便,可以在安装时选择是否使用此功能。

QtMultimedia模块包含了一套类库,该类库被用于处理多媒体事件,通过调用API接口访问摄像头、语音设备、收发消息(radio functionality)等。