pyinstaller打包,exe图片资源无法显示问题

目录

问题描述

pyinstaller打包tkinter图片显示

pyinstaller打包pyqt图片显示

建立 images.qrc

生成 images.py

程序中使用


转载:

pyinstaller打包——图片资源无法显示问题

[PyQt] 使用.qrc 生成资源文件供程序中使用

问题描述

在pyqt或tkinter里面用到图片的时候,pyinstaller打包的程序不能把图片资源弄上,也就是图片无法显示。

pyinstaller打包tkinter图片显示

请参考pyinstaller打包——图片资源无法显示问题

pyinstaller打包pyqt图片显示

一般pyqt都是用desinger来设计界面,哪里可以把图片生产资源文件,也就是qrc,然后用python自带的工具pyrcc 把他转换成py文件调用即可。请参考[PyQt] 使用.qrc 生成资源文件供程序中使用

建立 images.qrc

建立 images.qrc文件,里面保存了资源位置:

<!DOCTYPE RCC>
<RCC version="1.0">
    <qresource>
        <file alias="icon.png">icon.png</file>
        <file alias="swap.png">swap.png</file>
    </qresource>
</RCC>

生成 images.py

通过命令,用此qrc文件生成 images.py 资源文件:

pyrcc5 -o images.py images.qrc

使用pycharm中external tools,配置查看https://jingyan.baidu.com/article/5553fa8298b99c65a23934dd.html

程序中使用

import images

# 在程序中使用
icon = QIcon(':/icons/add.png')

self.swapButton.setStyleSheet("QPushButton{border-image: url(:/swap.png);width:40px;height:40px}")

 

PyInstaller是一个用于将Python应用程序打包成独立可执行文件(.exe)的工具。然而,有时在使用PyInstaller将代码打包后,程序可能会出现闪退或无法正常运行的情况。这可能由以下几个原因造成: 1. **依赖问题**:未包含所有必要的库和依赖项,特别是那些动态链接(DLLs)或模块,如果它们没有被正确地添加到dist目录中,可能导致缺失。 2. **代码更改影响**:源代码中的某些更新可能与编译后的二进制文件不兼容,特别是在处理异步、GUI库或其他特定功能时。 3. **版本冲突**:不同版本的库之间可能存在兼容性问题,尤其是对于一些第三方库。 4. **资源问题**:例如图片、字体或数据文件路径设置不当,当程序试图访问这些资源时找不到。 5. **错误处理**:如果原始代码中有未捕获的异常,或者对错误的处理方式在打包后不起作用,也会导致程序崩溃。 6. **系统兼容性**:打包后的程序可能仅适用于特定的操作系统或架构,如果用户运行的是不支持的环境,就会出现问题。 针对这种情况,你可以尝试以下解决方案: - **检查依赖**:确保使用`pyinstaller --hidden-import`列出所有的隐式依赖,并确认已包含了正确的DLLs。 - **测试环境**:创建一个干净的虚拟环境,重新安装所有库并进行打包,看看是否还有问题。 - **代码审查**:仔细检查是否有任何潜在的问题,如try-except没有适当地处理。 - **使用命令行参数**:有时候,`--onefile`和`--noconsole`等参数可以提供帮助。 - **日志记录**:在代码中加入足够的日志信息,以便于定位问题所在。 - **社区支持**:在PyInstaller的官方GitHub上搜索类似的问题,或者寻求Stack Overflow等社区的帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值