设置PyInstaller应用程序的图标

时间:2018-08-05 19:46:39

标签: python 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')

2 个答案:

答案 0 :(得分:1)

使用您的脚本(OPENVG=/home/pi/openvg main: main.o $(OPENVG)/libshape.o $(OPENVG)/objinit.o g++ -Wall -o $@ $^ $(LIBFLAGS) 进入CMD文件夹 如果您的文件夹位于d :,则先cd /Project然后d:

输入cd /Project

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

答案 1 :(得分:0)

您尝试过此命令吗?

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

更新您的.spec文件并设置控制台= 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_()