PyInstaller 应用程序的设置图标

新手上路,请多包涵

我遍历了 Google、Reddit、StackOverflow、PyInstaller 文档,我无法弄清楚。

我正在尝试为我的应用程序设置我的图标,但它不起作用。该图标应用于主 exe,但是,当它为 Windows 打开时,该图标不会显示在任务栏中。

图标被包括在内。我直接在EXE中设置了值图标到图标路径。我用过 Resource Hacker ,我用过 RCEDIT ,顺便说一句,它完全杀死了我的应用程序。我,对于我的生活, 无法 让应用程序的图标正确显示。

我试过 Windows 10 和 Windows 7。

即使我在没有 -F 的情况下运行 Pyinstaller,它仍然不会加载图标。我 100% 确定我的文件是 .ico 文件,并且包含多个可接受的大小,Resource Hacker 显示了 .ico 的所有可接受的大小。



这是我正在使用的 powershell 命令:

 pyinstaller -F -i C:\aNote\theme\anoteicon.ico --clean anotemain.spec

这是我的.spec

 # -*- mode: python -*-

block_cipher = None

a = Analysis(['anotemain.py'],
             pathex=['C:\\aNote'],
             binaries=[],
             datas=[('c:\\aNote\\theme\\anoteicon.png','theme'),
             ('c:\\aNote\\theme\\kabook.png','theme'),
             ('c:\\aNote\\theme\\Python.svg.png','theme'),
             ('c:\\aNote\\theme\\anoteicon.ico','.'),
             ('c:\\aNote\\anoteui.py','.'),
             ('c:\\aNote\\version.txt','.')],
             hiddenimports=["PyQt5.sip", "QtGui", "QtWidgets", "pyperclip", "webbrowser", "csv"],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='aNote',
          debug=False,
          strip=False,
          upx=False,
          clean=True,
          runtime_tmpdir=None,
          console=False,
          icon='c:\\aNote\\theme\\anoteicon.ico',
          version='version.txt')

原文由 AQuick 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

你试过这个命令吗?

Pyinstaller.exe --onefile --windowed --icon=app.ico app.py

更新您的 .specfile 并设置 console = True

 exe = EXE(pyz,
      a.scripts,
      a.binaries,
      a.zipfiles,
      a.datas,
      name='aNote',
      debug=False,
      strip=False,
      upx=False,
      clean=True,
      runtime_tmpdir=None,
      console=True,
      icon='c:\\aNote\\theme\\anoteicon.ico',
      version='version.txt')

使用示例代码,您可以运行窗口 UI 而不是控制台:

 from PyQt5 import QtGui

app = QtGui.QApplication([])
mainwindow = QtGui.QMainWindow()
mainwindow.show()

app.setWindowIcon(QtGui.QIcon('your.ico'))
mainwindow.setWindowIcon(QtGui.QIcon('your.ico'))
app.exec_()

原文由 Saige Zhang 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 CMD 中进入包含脚本的文件夹( cd /Project )如果你的文件夹在 d:,首先 d: 然后 cd /Project

输入 pyinstaller -w -F -i "icon.ico" script.py

或者,如果您的应用是控制台,则 pyinstaller -F -i "icon.ico" script.py

原文由 Саша Семенищев 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题