我已经使用self.setWindowIcon(QtGui.QIcon('icon.png'))
为我的PyQt应用程序设置了图标,当我在PyCharm中运行代码时它可以正常工作。
接下来,我使用PyInstaller将我的应用程序转换为一个文件:
pyinstaller.exe --onefile --windowed opc.py --name myapps
但是,在运行可执行文件时,不会显示图标。我做错了什么?
来自PyCharm的左站点代码,在一个文件的右侧站点上(pyinstaller.exe --onefile --windowed opc.py --name myapps)。 为什么不一样? 我想要* .png图标,因为它是透明的。
答案 0 :(得分:3)
在Windows上运行可执行文件时显示的图标来自可执行文件本身。要将图标与您的应用程序捆绑在一起,您需要通过传递pyinstaller.exe
参数在使用--icon
构建时指定图标。例如:
pyinstaller.exe --onefile --windowed --name myapps --icon=icon.ico opc.py
请注意,与setWindowIcon()
不同,图标文件必须采用.ico
格式,因此您需要先从.png
转换它。
如果要使用PyQt调用来设置图标,则需要将图标文件捆绑到可执行文件中,这可以使用PyInstaller spec file完成。有关创建和修改规范文件的过程的演练,请参见this previous answer。