需要用到pyuic5和pyrcc5两个包。
在.ui文件的路径下用cmd执行以下命令
pyuic5 -o XXX.py XXX.ui
XXX.py是目标文件,XXX.ui是qt designer生成的文件。
注意,顺序不可写反,否则XXX.ui会被覆盖,设计工作重来
注意,顺序不可写反,否则XXX.ui会被覆盖,设计工作重来
注意,顺序不可写反,否则XXX.ui会被覆盖,设计工作重来
生成的.py文件两种方法调用
1、直接在.py文件中添加主程序标识,创建实例,如下例,我的UI文件名为ui_mianwindow.ui,生成的ui_mainwindow.py:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui_mainwindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.7
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
#从此开始,为pyuic5自动生成的代码,不建议修改
from PyQt5 import QtCore, QtGui, QtWidgets
#主程序
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
……
#自动添加的资源打包文件
import main_window_rc
#至此结束
#添加以下创建实例
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
2、在其他程序中调用改界面文件(建议)
如创建一个主程序文件:
from UI.ui_mainwindow import Ui_MainWindow
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
在Qt Designer 中设计界面时是不能直接加入图片和图标等资源的,而是需要在PyQt开发目录下编写.qrc文件,可以用文本编辑器打开。
在.qrc文件的路径下用cmd执行以下命令
pyrcc5 XXX.qrc -o XXX_rc.py
XXX_rc.py(名字要加后缀)是目标文件,XXX.qrc是在qt designer生成的资源列表文件。
这个文件的使用方法也是导入,但是这个导入工作在生成.py界面时自动生成了(看上面代码块),我们要做的只是把他放在相应目录下
注意1、一般情况,.qrc文件在.ui文件同一个路径,生成后,建议复制一份到调用.py界面文件的主程序目录下。
注意2、更新资源后,要重新生成资源文件。原因是Qt Designer设计时放入的图片都是路径,但打包后是将资源数字化。
注意3、在引用.py界面文件的主程序中可以通过程序绑定资源,这样绑定的资源更新后不需要生成资源文件,对于经常更新的图片等资源来说更方便
本篇随手记,有空再更新