使用pystaller打包qy图形界面遇到的问题:This application failed to start...

1. 前言

首先,说明下使用ptstaller打包qt图形程序遇到的“This application failed to start.” 问题,与在安装PySide2后运行一个简单的qt图形程序后遇到的 “This application failed to start because no Qt platform plugin could beinitialized. Reinstalling the application may fix this problem.”问题不同(后者参考该文章点击该链接),后者需要在安装的PySide2路径下在__init__.py文件中添加一些信息。

2. 正文

先保证未打包的qt图形程序能正常运行,我的qt图形程序路径为F:\PycharnProjects\learningProjects\Qt\t4\hospital_info_sys.py,之后使用在改qt图形程序的路径下执行pyinstaller hospital_info_sys.py --noconsole --hidden-import PySide2.QtXml,之后会在F:\PycharnProjects\learningProjects\Qt\t4路径下生成一个dist文件夹和bulid文件夹,见下图
在这里插入图片描述
之后进入dist/hospital_info_sys,往下拉文件滚动条会看到一个hospital_info_sys.exe文件。然后将原来hospital_info_sys.py中需要动态加载的.ui文件复制到dist/hospital_info_sys下(最好在编写hospital_info_sys.py时将待加载的.ui文件放到同级目录下,例如self.ui = QUiLoader().load('hospital_info_sys.ui'))。此时直接点击改exe文件,会出现下面的错误
在这里插入图片描述
解决办法:错因是打包的文件dist\hospital_info_sys\PySide2\plugins\platforms下中只有4个dll文件,但是在自己一开始安装的PySide2下面的有5个dll文件(在Anaconda3\Lib\site-packages\PySide2\plugins\platforms下)。因此只要把PySide2下的platforms文件夹(包含5个dll文件)直接代替打包的dist\hospital_info_sys\PySide2\plugins\platforms即可

3.压缩打包文件

仅压缩项目路径下F:\PycharnProjects\learningProjects\Qt\t4\dist下的 hospital_info_sys文件夹

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值