pyinstaller 打包可执行程序,界面左上角图标丢失

使用PyQt5开发了一个GUI小程序,并使用pyinstaller打包成了一个可执行程序。但程序运行之后发现界面左上角的图标丢失…打包前明明是正常的哇/(ㄒoㄒ)/~~

验证过程

table.png和当前py文件处于同一个目录,使用的相对路径

self.setWindowIcon(QtGui.QIcon("table.png"))

此时运行程序,打开界面后左上角图标正常显示。开始使用pyinstaller打包,执行如下命令

pyinstaller -F -w -i table.ico TDTool.py

在dist目录下生成了TDTool.exe文件,并且程序图标显示正常,双击exe运行,打开程序界面后,左上角图标丢失,凉凉~

怎么办,将相对路径改成绝对路径试试

self.setWindowIcon(QtGui.QIcon("D:/PythonProjects/TDTool/table.png"))

再次打包验证,左上角图标正常O(∩_∩)O

我以为发现了真理,直到我把本地的图标文件删了~
删除或改名文件"D:/PythonProjects/TDTool/table.png"后再运行exe程序,
图标文件丢失!!!

我再次验证了使用相对路径的那个方案,然后把"table.png"放到exe所在的目录,再次运行,图标文件可正常显示~

总结:这种打包方式,并没有将左上角的图标文件和exe打包到一起,与使用相对路径绝对路径没有关系!

上一篇:c#编译过程


下一篇:(墨者学院)-主机溢出提权漏洞分析