PyInstaller打包PyQt5程序无法正常显示图片

       我写了一段PyQt5程序, 程序中需要显示图片. 我在PyCharm中开发时,可以正常的显示图片, 但是使用PyInstaller将程序打包为exe之后, 同时将图片资源放入exe所在的目录中(即图片路径正确), 打开的exe程序却不显示图片. 

       对此, 我找到了一种解决办法, 即,将图片写入py文件中去, 通过使用这个py文件来显示图片. 具体我是如下这么做的.

       我创建一个pic.qrc文件, 在文件中写入内容如下:

<RCC>
    <qresource prefix="/">
        <file>image/png_closeImage1.png</file>
        <file>image/png_closeImage2.png</file>
        <file>image/png_trayImage.png</file>
    </qresource>
</RCC>

        然后使用如下命令将pic.qrc文件编译为pic.py文件:pyrcc5 pic.qrc -o pic.py

        接下来就可以在py程序中通过pic.py引用图片了:

        我的托盘文件为Tray.py, 该文件需要设置托盘的图标, 我首先import pic, 即导入pic.py; 然后在通过self.setTrayIcon(":image/png_trayImage.png"), 从而添加图片成功.

        注意: 我一开始是使用的jpg图片, 但一直没有成功, 后来我将jpg图片换成png图片, 就成功了!

 

 

 

PyInstaller是一个用于打包Python文件的库,可以将Python脚本转换成可执行文件。对于使用PyQt5编写的脚本进行打包,首先需要确保已经安装了PyInstallerPyQt5。然后,可以按照以下步骤进行打包: 1. 打开终端或命令提示符窗口,并切换到包含主函数文件的目录。 2. 运行以下命令:`pyinstaller your_script.py`,其中"your_script.py"是你要打包的脚本的文件名。 3. PyInstaller将开始分析脚本并创建.spec文件,该文件将包含有关打包过程的配置信息。 4. 在.spec文件中,你可以对打包过程进行更多的自定义配置。可以使用文本编辑器打开.spec文件并进行修改。 5. 对于PyQt5脚本,通常需要添加额外的参数来解决特定的问题。例如,如果脚本中使用了Qt的平台插件(例如QtWebEngine),可能需要使用`--add-data`参数来包含这些插件。具体的参数配置可以参考PyInstaller的文档。 6. 修改完.spec文件后,运行以下命令:`pyinstaller your_script.spec`,其中"your_script.spec"是你修改后的.spec文件的文件名。 7. PyInstaller将开始根据.spec文件进行打包。在打包完成后,你将在当前目录中看到一个名为"dist"的文件夹,里面包含了打包后的可执行文件。 需要注意的是,PyInstaller打包过程可能因为项目的复杂性而有所不同。建议在打包前仔细阅读PyInstaller的文档,并根据你的具体需求进行适当的配置和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pyinstaller打包pyqt5项目总结](https://blog.csdn.net/Sheleon1995/article/details/125041861)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [pyinstaller打包pyqt5程序 全过程 超详细](https://blog.csdn.net/okfu_DL/article/details/84566545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值