本文教程操作环境: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)等。