python版本是2.7
pyinstaller打的包在中文路径(os.path.abspath(’…’)+"/微码/hash.jpg")下读取不到图片
原因:2的库跟py本身支持英文 可切py3或者换英文路径
以下三个方法,没打包运行都是可以的
1、
2、u"{}".format(你刚刚的path语句)
3、unicode(path,‘utf-8’)
用以上三个方法,pyinstaller打包执行报错,如下
解决方法(我是用方法一,二,但是方法三比较靠谱):1、
直接把图片存在py里面
转base64
你存在py里面直接转码调用就行了
def pic_to_b64():
with open(r"D:\Personal\Desktop\1.png", 'rb') as f:
base64_data = base64.b64encode(f.read())
s = base64_data.decode()
print(s)
def get_ico(b64):
icon = QPixmap()
icon.loadFromData(base64.b64decode(b64))
return icon
self.setWindowIcon(QIcon(get_ico(resource.app_base64)))
resource.app_base64 = b’XXXXXXXXXXXXXXXXXXXXX’
2、
https://blog.csdn.net/wltsysterm/article/details/104637829 试试这个方法
方法一亲测可用,方法二博主还没用过,哈哈哈哈
3、方法三:如果以上两种方法都不行,我就要拿出杀手锏了:
window_pale = QtGui.QPalette()
image_url = “…\res\fpga_back.jpg”
window_pale.setBrush(self.backgroundRole(), QtGui.QBrush(QtGui.QPixmap(image_url))) # 设置背景图片
self.setPalette(window_pale)
有时候以上方法都做不到,就很无语了,只能默默去掉背景图片,设置背景为白色了,不懂是不是图片问题?