You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用pyinstaller打包Python程序为exe时如何添加自定义启动图标?

替换Tkinter+PyInstaller打包程序自定义图标的操作步骤

前置准备

  • 提前准备好ICO格式的自定义图标文件,建议内置16x16/32x32/48x48/256x256多尺寸规格,避免不同场景下显示模糊或不生效。

步骤1:修改Tkinter代码,配置运行时图标

这一步解决窗口标题栏、任务栏显示默认Tkinter图标的问题:

  1. 在代码最开头添加Windows应用ID配置,避免任务栏图标识别异常:
import ctypes
# 自定义应用ID,任意字符串即可
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("my.custom.app.v1")
  1. 在Tkinter主窗口初始化后,设置窗口图标:
import tkinter as tk

root = tk.Tk()
# 填写你的ico文件相对路径或绝对路径
root.iconbitmap("logo.ico")
# 后续你的窗口业务代码
root.mainloop()

如果你要打包为单文件exe,怕路径读取出错,可以把ICO文件转为Base64字符串直接嵌入代码,无需额外携带图标文件。

步骤2:PyInstaller打包时指定exe文件图标

这一步修改exe文件本身的显示图标:
执行打包命令时添加-i参数指定图标路径即可,示例命令:
pyinstaller -F -w -i logo.ico 你的脚本名称.py
参数说明:

  • -F:打包为单个独立exe文件
  • -w:窗口程序,运行时不弹出黑色控制台窗口
  • -i:指定exe文件的图标路径

如果你使用spec文件配置打包规则,直接修改spec文件中EXE配置项的icon参数为你的图标路径即可。

常见异常处理

如果修改后仍然显示旧图标,大概率是Windows系统图标缓存导致,可以将exe移动到新文件夹,或重启Windows资源管理器清理缓存后再测试。

内容的提问来源于stack exchange,提问作者AD0T.dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:09:03