Python PyInstaller 并包含 window 图标

Python PyInstaller and include window icon

我已经使用 self.setWindowIcon(QtGui.QIcon('icon.png')) 为我的 PyQt 应用程序设置了图标,当我 运行 我的代码在 PyCharm 时它工作正常。

接下来我使用 PyInstaller 将我的应用程序转换为一个文件:

pyinstaller.exe --onefile --windowed opc.py --name myapps

但是,当 运行ning 可执行文件时,图标不会显示。我做错了什么?


左侧站点代码来自 PyCharm,右侧站点来自一个文件 (pyinstaller.exe --onefile --windowed opc.py --name myapps)。 为什么不一样? 我想要 *.png 图标,因为它是透明的。

运行 Windows 上的可执行文件时显示的图标来自可执行文件本身。要将图标与您的应用程序捆绑在一起,您需要在使用 pyinstaller.exe 构建时通过传递 --icon 参数来指定图标。例如:

pyinstaller.exe --onefile --windowed --name myapps --icon=icon.ico opc.py

请注意,与 setWindowIcon() 不同,图标文件必须为 .ico 格式,因此您需要先将其从 .png 转换。

如果您想使用 PyQt 调用来设置图标,您需要将图标文件捆绑到可执行文件中,这可以使用 PyInstaller spec file. A walkthrough of the process of creating and modifying the spec file is in this previous answer.