我爱普洱茶 发表于 2024-2-3 00:56:21

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

前言


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


[*]最后使用base64创建临时ico解决了该问题
https://img2023.cnblogs.com/blog/1769804/202312/1769804-20231205110143386-955188916.png
步骤


[*]创建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()
[*]创建img目录,将准备好的logo.ico放入img目录中。
[*]运行icoToBase64.py文件,将ico转换为base64,写入py文件,得到logo.py。
[*]引入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图标都变成了自定义的图标。
https://img2023.cnblogs.com/blog/1769804/202312/1769804-20231205110148800-1658454092.png
原文链接:https://xiblogs.top/?id=65

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 修改python打包后的窗体图标、任务栏图标、exe图标