QtDesigner安装
首先安装anaconda,会自带PyQt5以及QtDesigner,配置QtDesigner到Pycharm


D:\Anaconda3\Library\bin\designer.exe Program选中anaconda中的designer.exe程序
$ProjectFileDir$
QtDesigner界面设计

设计好界面后保存会生成一个xxx.ui的文件
在该文件的同级目录下打开命令行 ,输入python -m PyQt5.uic.pyuic xxx.ui -o xxx.py 即可将ui文件转换成对应的py文件
使用下面一段代码创建窗口,显示界面:
import sys
from excelutil import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QMainWindow
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow() # 创建主窗口
ui = Ui_MainWindow() # 创建自定义ui界面
ui.setupUi(MainWindow) #将自定义ui界面设置到主窗口
MainWindow.show()
sys.exit(app.exec_())pyinstaller安装
pip install pyinstallerpyinstaller打包PyQt5项目
pyinstaller -Fw test.pyF表示打包成一个exe文件 w表示不弹出命令窗口
打包过程中遇到的一些坑:
1.报错

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 110: invalid continuation byte这个错误是因为windows的命令行窗口使用GBK编码,无法解码utf-8编码的文件
解决办法:在命令行敲chcp 65001 这个命令是将命令行转为utf-8编码
2.报错

这个错误是由于缺少dll文件导致的,按照网上方法尝试添加pyqt的环境的变量

没有成功,按照另一方法,将anaconda安装目录下的Library\plugins文件夹中的platforms文件夹,拷贝到打包好的exe文件同级目录下,问题解决。(我的目录是D:\Anaconda3\Library\plugins)

3.打包后的程序体积很大,导入了很多没用上的包
尝试过很多方法:
导入包时尽量使用 from *** import ***
使用anconda虚拟环境,未解决。这里很奇怪,我创建虚拟环境并激活虚拟环境后,没安装pyinstaller,但是依旧可以使用pyinstaller命令进行打包,貌似使用了默认的anconda环境。待研究...
版权声明:本文为cqf949544506原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。