qt creator 是一款跨平台的 qt 集成开发环境(ide),由 nokia 在收购 qt 后推出。该 ide 能够在多种操作系统上运行,包括 linux(32 位及 64 位)、mac os x 和 windows。根据官方说法,qt creator 的设计目的是为了帮助开发者利用 qt 框架更快、更轻松地完成开发任务。
在使用 Qt Creator 或其设计器创建图形界面时,会生成一个 ui 文件。为了将这个 ui 文件转换为 py 文件,以下是详细步骤:
① 在 Qt Creator 中选择一个模板
② 配置模板直到完成
③ 进入主界面
下面是 xml 格式的 ui 文件
在设计器中添加一些控件
保存后会生成三个文件
④ 进入保存文件的文件夹,打开终端(CMD),输入以下命令(适用于 Mac 和 Windows):
pyuic5 -o qttest.py qttest.ui
此命令将 ui 文件转换为 py 文件。
以下是生成的 Python 代码:
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'qttest.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost!from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_qttest(object): def setupUi(self, qttest): qttest.setObjectName("qttest") qttest.resize(800, 600) self.centralwidget = QtWidgets.QWidget(qttest) self.centralwidget.setObjectName("centralwidget") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(110, 300, 114, 32)) self.pushButton.setObjectName("pushButton") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(300, 40, 59, 16)) self.label.setObjectName("label") self.timeEdit = QtWidgets.QTimeEdit(self.centralwidget) self.timeEdit.setGeometry(QtCore.QRect(240, 190, 118, 22)) self.timeEdit.setObjectName("timeEdit") self.dateEdit = QtWidgets.QDateEdit(self.centralwidget) self.dateEdit.setGeometry(QtCore.QRect(400, 350, 110, 22)) self.dateEdit.setObjectName("dateEdit") qttest.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(qttest) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 22)) self.menubar.setObjectName("menubar") qttest.setM
enuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(qttest) self.statusbar.setObjectName("statusbar") qttest.setStatusBar(self.statusbar)
self.retranslateUi(qttest) QtCore.QMetaObject.connectSlotsByName(qttest) def retranslateUi(self, qttest): _translate = QtCore.QCoreApplication.translate qttest.setWindowTitle(_translate("qttest", "MainWindow")) self.pushButton.setText(_translate("qttest", "PushButton")) self.label.setText(_translate("qttest", "QT TEST"))⑤ 此时,解释器可以运行该代码。为了显示界面,需要添加以下主函数和 PyQt 包:
if __name__ == "__main__": import sys app = QApplication(sys.argv) widget = QWidget(None) Ui_Form().setupUi(widget) sys.exit(app.exec_()) pass请注意,相应的名称需要进行修改。

enuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(qttest)
self.statusbar.setObjectName("statusbar")
qttest.setStatusBar(self.statusbar)






