python之pyqt专栏2-项目文件解析
- 手机
- 2025-08-12 00:00:02

项目结构
在上一篇文章python之pyqt专栏1-环境搭建,创建新的pyqt项目,下面我们来看一下这个项目下的文件。
从下面的文件结构图可以看到,该项目下有3个文件,untitled.ui,untitled.py 以及main.py。
QtDesigner可以UI界面的方式,编辑UI界面,并且保存成untitled.ui,
pyuic 会将untitled.ui 转换为untitled.py,
当我们需要改变程序的界面时,我们只需要通过QtDesigner 修改Ui界面,再通过pyuic转为".py"文件即可,不需要修改pyuic转换的".py"文件
untitled.pyuntitled.py有一个Ui_Form类,这个类只有setupUi(self, Form) 与retranslateUi(self, Form),两个函数。
setupUi(self, Form) ,Form形参,用来传递对象。函数具体的语言则是执行一些界面的设置。
retranslateUi(self, Form)函数,只要是实现国际化用的,用于界面文字自动识别当前国家
from PyQt6 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.pushButton = QtWidgets.QPushButton(parent=Form) self.pushButton.setGeometry(QtCore.QRect(140, 130, 75, 23)) self.pushButton.setObjectName("pushButton") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.pushButton.setText(_translate("Form", "PushButton")) main.py #导入sys模块 import sys # PyQt6.QtWidgets模块中导入QApplication, QWidget from PyQt6.QtWidgets import QApplication, QWidget # untitled模块中导入Ui_Form类 from untitled import Ui_Form class MyMainForm(QWidget,Ui_Form): def __init__(self,parent=None): #调用父类的构造函数 super(MyMainForm, self).__init__(parent) #调用继承Ui_Form过来的setupUi函数 self.setupUi(self) # Press the green button in the gutter to run the script. if __name__ == '__main__': # 实例化应用 app = QApplication(sys.argv) #实例化MyMainForm myw = MyMainForm() #myw显示 myw.show() #启动应用程序的事件循环并等待用户交互,直到应用程序关闭。 sys.exit(app.exec()) 自定义MyMainForm类继承QWidget与Ui_Form,是多继承。在__init__(self,parent=None)构造函数中,调用父类的构造函数,由于Ui_Form构造函数,也不需要。因此只会调用QWidget构造函数。调用self.setupUi(self)则是MyMainForm实例进行样式进行设置
代码执行app = QApplication(sys.argv),创建了QApplication实例,你可以继续添加各种GUI元素(如按钮,文本框,滑动条等),并将它们组织在窗口中。通常,一个Qt应用程序至少包含一个窗口(由QMainWindow或QWidget派生)。
myw = MyMainForm() 创建了MyMainForm类的一个实例,将会调用MyMainForm,__init__(self,parent=None)函数
myw.show() 用myw对象的show()方法。这个方法会让MyMainForm窗口在屏幕上显示出来。在窗口显示出来之后,用户就可以开始与窗口进行交互
sys.exit(app.exec()) 启动应用程序的事件循环并等待用户交互,直到应用程序关闭。
python之pyqt专栏2-项目文件解析由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“python之pyqt专栏2-项目文件解析”
上一篇
如何应用ChatGPT撰写、修改论文及工作报告,提供写作能力
下一篇
被动接受需求