龙空技术网

Pyinstaller打包EXE后窗体图标丢失的解决方法

破风之影 49

前言:

现在兄弟们对“下载python桌面没有图标”大约比较着重,姐妹们都需要知道一些“下载python桌面没有图标”的相关文章。那么小编也在网上网罗了一些有关“下载python桌面没有图标””的相关文章,希望咱们能喜欢,各位老铁们快快来学习一下吧!

今天用Pyinstaller打包python程序为exe文件时,发现打包以后的单体exe文件执行起来窗体上的图标都不显示了,但是打包时明明打包进去了

打包脚本:

pyinstaller --onefile --noconsole -i "hootools.com.png" --add-data=".\*.png;." txt2srt.py

打包后执行效果:

后经查询解决如下:

1、增加方法如下:

def resource_path(relative_path):    base_path = getattr(sys, '_MEIPASS', os.path.dirname(os.path.abspath(__file__)))    return os.path.join(base_path, relative_path)

2、设置图标时的代码修改如下:

window.setWindowIcon(QIcon(resource_path("hootools.com.png")))

这样就可以了。

他的原理是:resource_path这个方法中可以获取到程序运行时的临时目录地址,资源文件会释放在这个临时目录中,这样就能找到了

临时目录通常的地址在:

C:\Users\XXX\AppData\Local\Temp\_MEI219722\hootools.com.png

XXX为系统用户名

再次打包后运行效果:

标签: #下载python桌面没有图标