使用 Ui_Widget 类的 GUI 程序框架
一、步骤:
窗体UI文件 (1.ui) 编译转换为
python的类定义文件 (1.py) 使用 1.py 中的类创建
GUI应用程序(2.py)
二、编写python的类定义文件
完整代码:
# -*- coding: utf-8 -*-
# @Time : 2022/9/16 21:52
# @Author : xiao fang
# @File : ui_Widget1.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Widget(object):
def setupUi(self, Widget): # self指代窗体的初始化函数setupUi(),窗体Widget作为参数传递
# setupUi()函数里都是创建组件及设置组件的属性
Widget.setObjectName('Widget')
Widget.resize(300, 250)
# 给基类QtWidgets中的按钮类QPushButton创建一个实例,它的父容器是Widget,所以按钮在窗体Widget上显示
self.btnclose = QtWidgets.QPushButton(Widget)
self.btnclose.setObjectName('btnclose')
self.retranslateUi(Widget)
QtCore.QMetaObject.connectSlotsByName(Widget)
def retranslateUi(self, Widget):
_translate = QtCore.QCoreApplication.translate
Widget.setWindowTitle(_translate('Widget', '窗口'))
self.btnclose.setText(_translate('Widget', '按钮'))
三、用来调用窗口显示的文件
完整代码:
# -*- coding: utf-8 -*-
# @Time : 2022/9/16 21:59
# @Author : xiao fang
# @File : appMain1.py
import sys
from PyQt5 import QtWidgets
import ui_Widget1
app = QtWidgets.QApplication(sys.argv) # 使用QApplication类创建了应用程序实例app
baseWideget = QtWidgets.QWidget() # 创建了基类QtWidgets中的窗体类QWidget的一个类对象baseWideget
ui = ui_Widget1.Ui_Widget() # 从文件ui_Widget1.py中的类Ui_Widget()创建一个对象
ui.setupUi(baseWideget) # 对象ui调用创建它的类Ui_Widget()中的函数setupUi
baseWideget.show() # 显示窗体
sys.exit(app.exec_()) # 应用程序运行