修改python打包后的窗体图标、任务栏图标、exe图标

发布时间 2023-12-05 11:05:41作者: 曦12

前言

  • 我python开发的GUI界面(图形用户界面)一直是tkinter,打包exe一直是Pyinstaller。但是打包出来的exe图标、状态栏图标、窗体左上角图标一直是默认的羽毛,我想自定义。

效果

  • 最后使用base64创建临时ico解决了该问题
    image

步骤

  1. 创建icoToBase64.py,内容如下:
import base64

# ico转base64
open_icon = open("./img/logo.ico", "rb")
b64str = base64.b64encode(open_icon.read())  # 转换为base64编码
open_icon.close()
write_data = "imgBase64 = %s" % b64str
f = open("./img/logo.py", "w+")
f.write(write_data)# 写入文件
f.close()
  1. 创建img目录,将准备好的logo.ico放入img目录中。
  2. 运行icoToBase64.py文件,将ico转换为base64,写入py文件,得到logo.py。
  3. 引入logo.py,使用base64创建临时logo。
from img.logo import imgBase64

# 创建临时logo
def createTempLogo():  # 处理图片
    tmp = open("temp.ico", "wb+")  # 创建temp.ico临时文件
    tmp.write(base64.b64decode(imgBase64))  # 写入img的base64
    tmp.close()  # 关闭文件
...
createTempLogo()
root.wm_iconbitmap("temp.ico")# 使用wm_iconbitmap引入创建的ico
if os.path.exists("temp.ico"):
   os.remove("temp.ico")# 创建logo后需删除临时logo
...

结语

最后不管是直接运行还是打包exe后运行,会发现窗体图标、任务栏图标、exe图标都变成了自定义的图标。
image
原文链接:https://xiblogs.top/?id=65