当直接打包成.exe文件时,其背景图片不会在打包后的.exe文件中出现。解决方法如下:
将图片编码成字节码,然后直接引用字节码再解码成图片显示出来。
-
传入需要编码的图片路径img_path,通过b64encode()方法编码成字节码。注意,当图片太大时,通过print()输出的信息可能是不完整的,直接复制这个信息会导致图片解码不出来,所以最好把字节码保存到一个文件,后续需要使用图片时就可以把文件里面的字节码复制到代码中来直接引用。
-
有了图片的字节码,我们就可以通过b64decode()解码出来将图片保存到本地,然后GUI组件引用这个路径下的图片就可以显示了。注意,要先把图片解码出来到本地,组件才能显示哦,顺序不要搞错了。
具体方法如下:
1.将图片编码,代码如下:
图片将编码成为一个one.py,里面有一个img=。。。。。即
2.将图片编码后,再将图片解码,该代码应该放在pyqt5代码中,即: