PYQT 自带的 Pyrcc 系统的使用,PyInstaller对PYQT程序进行打包,不能打包背景图片,图标等解决办法

这篇具有很好参考价值的文章主要介绍了PYQT 自带的 Pyrcc 系统的使用,PyInstaller对PYQT程序进行打包,不能打包背景图片,图标等解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

使用 PyInstaller 对程序进行打包,不能打包背景图片。打包后的软件可以正常运行,但涉及到图片相关的资源(如背景图片,头像)全部不显示。

问题分析

当使用Python PyInstaller对程序进行打包时,如果程序中涉及到背景图片,会出现无法打包背景图片的问题。这是由于PyInstaller默认只会将代码和依赖的库文件打包进可执行文件中,而不会将文件资源如图片等打包进去。因此,这些文件在程序运行时无法被找到,导致程序无法正常显示背景图片。

解决办法步骤

利用 PYQT 自带的 Pyrcc 系统,将图片转化为QT能调用的资源文件,然后在源代码中调用图片资源。

1.在项目中新建 image.qrc 文件。写入以下代码

<RCC>
  <qresource prefix="IMAGES">
    <file alias="icon">./icon.jpg</file>
  </qresource>
</RCC>

2.保存后,利用 PYQT 自带的 Pyrcc 系统,转化为资源文件。

Vscode中的操作是,右击image.qrc 文件,选择 PYQT:Compile Resource。
点击 PYQT:Compile Resource后,可以看到新生成的 image_rc.py 文件。
对这个方式有疑问的可以看这篇博客:
Pyrcc 环境配置验证

pyrcc,PyQt开发记录,pyqt,python,ui

3.引用资源文件

有了新生成的 image_rc.py 文件,我们再将image_rc.py文件引用,再UI.py文件中调用资源文件。这里 image_rc 是我的资源文件 image_rc.py 的包名字。

import image_rc  # 引用image_rc.py资源文件

调用资源图片,就将如下原代码

# 设置控件背景
self.label.setStyleSheet("border-image:url(./icon.jpg);") 

修改为

self.label.setStyleSheet("border-image: url(:IMAGES/icon);")

IMAGES 对应 image.qrc文件里代码内容,IMAGES 是前缀值,icon是alias值
其他使用方式:

self.label_user_icon.setPixmap(QtGui.QPixmap(":IMAGES/icon"))

这个时候再去打包软件,就可以将图片资源一起打包带走了。文章来源地址https://www.toymoban.com/news/detail-766396.html

  1. 每次修改 image.qrc 文件,选择 PYQT:Compile Resource 前,一定要先保存再编译成图片资源
  2. image.qrc语法格式很挑剔,仔细查看空格
  3. 我们使用 image_rc.py 资源文件时,在Qt-designer中不显示图片,这是正常的。不如直接运行代码,图片资源加载其实是成功的,只是Qt-designer中看不到。
  4. PYQT6 没有 Pyrcc 资源系统,也许可以用 PYQT5 转好的资源文件,让PYQT6 去调用,自己去试吧!

到了这里,关于PYQT 自带的 Pyrcc 系统的使用,PyInstaller对PYQT程序进行打包,不能打包背景图片,图标等解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 采用pycharm在虚拟环境使用pyinstaller打包python程序

    一年多以前,我写过一篇博客描述了如何虚拟环境打包,这一次有所不同,直接用IDE pycharm构成虚拟环境并运行pyinstaller打包 之前的博文: 虚拟环境venu使用pyinstaller打包python程序_伊玛目的门徒的博客-CSDN博客 第一步: pycharm建立项目,创建一个虚拟环境。   第二步: 在项目

    2024年02月12日
    浏览(44)
  • pyinstaller打包pytorch、opencv、onnxruntime-gup、pyqt5成exe可移植

    目录 打包单文件 打包多文件 1、打包单文件         pyinstaller在打包过程中会自动将脚本文件里的import库自动打包到软件中,所以不需要在打包时再添加到.spec文件中。        打包过程如下: a、在conda虚拟环境中创建新的环境来安装需要的包以及pip install pyinstaller,也可以

    2024年01月17日
    浏览(39)
  • ubuntu安装 pyqt5 报错 xcb找不到 pyinstaller打包open3d报错

    2个错误 QObject::moveToThread: Current thread (0x25b5c20) is not the object’s thread (0x5ce7ee0). Cannot move to target thread (0x25b5c20) qt.qpa.plugin: Could not load the Qt platform plugin “xcb” in “/home/dong/miniconda3/envs/fastdeploy/lib/python3.8/site-packages/cv2/qt/plugins” even though it was found. This application failed to start beca

    2024年02月01日
    浏览(54)
  • 【Python】conda虚拟环境下使用pyinstaller打包程序为exe

    第一点是,pyinstaller打包需要指定程序中使用的库的路径,新手在这一点上很容易出现问题,导致打包后的exe程序执行的时候显示 缺少模块 。这个问题可能并不能通过简单地指定路径来解决。 第二点就是使用虚拟环境本身的好处了: 可以创建多个不同的Python环境,每个环境

    2024年02月09日
    浏览(58)
  • 使用pyinstaller在64位系统打包32位exe文件的有效方法

    这些天为了解决一些需求,解决python程序打包exe并且能够兼容xp系统的问题,看过许多在stackoverflow等网站上面的回答,觉得在实际的操作过程当中反而还会遇到过一些相对严重的问题,以至于无法解决。经过多种测试之后找到了一种比较有效的方法。 使用anaconda安装pypiwin32等

    2024年02月08日
    浏览(48)
  • Python使用最新版pyinstaller将项目或程序打包成exe或者mac中的可执行文件

    pyinstaller 能够在 Windows、Linux、Mac 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。 PyInstaller 支持 Python 2.7 和 Python 3.3+。可以在 Windows、Mac 和 Linux 上使用,但是并不是跨平台的,

    2024年02月08日
    浏览(53)
  • Python3.9使用最新版pyinstaller将项目或程序打包成exe或者mac中的可执行文件

    pyinstaller 能够在 Windows、Linux、Mac 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个独立文件方便传递和管理。 PyInstaller 支持 Python 2.7 和 Python 3.3+。可以在 Windows、Mac 和 Linux 上使用,但是并不是跨平台的,

    2024年02月09日
    浏览(64)
  • 使用自带的IDLE进行程序调试

    1.打开IDLE,在主菜单选择debug---debugger菜单项,将打开debug control对话框 2.在Python-shell窗口选择file-open菜单项,打开要调试的文件 3.添加断点,鼠标右击选择set-breakpoint菜单项,添加断点的行将以黄色底纹标记,删除断点,选择clear-breakpoint菜单项( 断点调试 是指在程序的某一行

    2023年04月20日
    浏览(37)
  • Python PyInstaller将程序打包为exe程序

    1.执行 pip install pyinstaller,结果如下图  2.然后执行 pyinstaller -F -w Hello.py 执行完之后会产生两个目录 在dist目录下就是可执行文件,双击即可看到效果

    2024年02月04日
    浏览(47)
  • python打包Windows.exe程序(pyinstaller)

    python打包Windows.exe程序(pyinstaller) pip install pyinstaller 使用pip命令来安装pyinstaller模块。 -F: pyinstaller -F hello.py -p hello2.py -D: pyinstaller -D hello.py -p hello2.py -i : pyinstaller -i tb.ico -F hello.py -p hello2.py 其中前一个文件hello是主文件,后一个文件是会被调用到的文件,可以有多个。

    2024年02月13日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包