pyqt5将图形设计生成的ui文件转化为py文件

2021-05-21 15:11:50 浏览数 (1)

Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。

使用Qt Creator或designer图形界面画出的图形会产生ui界面,需要将ui文件转化为py文件。下面给出了步骤。

①打开qt creator选择一个模板

②选择模板配置直到完成

③进入主界面

下面是xml的ui文件

画一些控件

保存后会有3个文件

④进入保存的文件夹,打开终端(CMD)

输入命令(MAC 与Windows均可)

pyuic5 -o qttest.py qttest.ui

将ui文件转化为py文件

刚刚画出的Python代码:

代码语言:javascript复制
# -*- 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.setMenuBar(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的包

代码语言:javascript复制
if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    widget = QWidget(None)
    Ui_Form().setupUi(widget)
    sys.exit(app.exec_())
    pass

注意相应的名称也要改。

0 人点赞