项目场景:

在打包pyqt5 文件为exe 文件的过程中,如果没有报图片也资源打包进去的话,可能出现图片资源在外面可见的部分,
在这个过程学习到一些方法,记录分享


问题描述

图片资源不希望是可以见的情况,需要把图片资源也打包到配置里面,但是main_ui.spec spec 文件里面没有看到有配置进去的功能,

1.需要先把图片资源转换为二进制的文件之后再使用就可以了,首先在图片资源下面新建,rcc 文件,把图片的名字包括扩展名。
如下面的格式

myimage.rcc

<RCC>
 <qresource>
	 <file>add.png</file>
	 <file>baocun.png</file>
	 <file>bianji.png</file>
	 <file>car_icon.png</file>
	 <file>gongyezidonghua.png</file>
	 <file>icon_ruanjiansuoche-copy.png</file>
	 <file>jian.png</file>
	 <file>save-fill.png</file>
	 <file>tihuan.png</file>
	 <file>yunxingzhong.png</file>
 </qresource>
</RCC>

2、使用pyccr 打包为二进制的py文件

	pyrcc5 F:\my_work\my_py_qt5\sb_lock\my_assets\myimage.rcc -o F:\my_work\my_py_qt5\sb_lock\my_assets\resource_rc.py

这样就可以在自己的目录下面可以生成一个1.py的文件,自己命名你自己需要的名字

3、在项目的起始py文件里面import 刚刚生成的那个py 文件

import resource_rc

4、这样就可以在全局去使用。使用方式如下:

import resource_rc
    self.setWindowIcon(QIcon(':/gongyezidonghua.png'))

原因分析:

大部分功能qt 都会有包含的,如果没有找到好的解决方法,可以百度查找下。

解决方案:

OK。解决问题。这样打包之后可以不需要把图片资源放置进去了。问题搞定,谢谢,点赞,关注!!!!!!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐