侧边栏壁纸
博主头像
行迹小栈

即使明天我们的手脚都会折断,但是我们的衣领和袖口,依然笔挺!

  • 累计撰写 109 篇文章
  • 累计创建 12 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

如何将tkinter的左上角logo一起打包成exe

Administrator
2024-07-31 / 0 评论 / 0 点赞 / 5 阅读 / 0 字 / 正在检测是否收录...

问题描述

使用pyinstaller打包tkinter项目后,运行exe文件,找不到tkinter左上角logo的路径,只有把logo.ico一起复制过来才能运行

tk_mp3_10.png

所以接下来讲解 如何将tkinter的logo一起打包成exe

读取ico文件,转为base64格式

open_icon = open("music.ico", "rb")  # cs.icon为你要放入的图标
b64str = base64.b64encode(open_icon.read())  # 二进制读出之后转为base64
open_icon.close()

将base64数据赋值变量写入到.py文件中

write_data = "img=%s" % b64str
f = open("logo.py", "w+")  # 将base64格式的数据写到py文件中
f.write(write_data)
f.close()

base64转ico文件

tk设置图标前,打开一个ico文件,然后将刚才py文件中的base64数据写入进去

# 先打开一个文件,然后将ico的base64数据写到当前ico文件里
with open('logo.ico','wb+') as f:
    f.write(base64.b64decode(img))

设置图标

设置图标,然后在删除这个ico文件即可

top = tkinter.Tk()
top.title("mp3修改器")
# 先打开一个文件,然后将ico的base64数据写到当前ico文件里
top.iconbitmap("logo.ico")  # 设置图标
os.remove("logo.ico")  # 再删除图标
# 进入消息循环
top.mainloop()

打包后运行结果:

tk_jiqiao1_1.png

完整代码展示

ico转base64写入的代码

import base64

open_icon = open("music.ico", "rb")  # cs.icon为你要放入的图标
b64str = base64.b64encode(open_icon.read())  # 二进制读出之后转为base64
open_icon.close()
write_data = "img=%s" % b64str
f = open("logo.py", "w+")  # 将base64格式的数据写到py文件中
f.write(write_data)
f.close()

设置图标的代码

with open('logo.ico', 'wb+') as f:
    f.write(base64.b64decode(img))
    
top = tkinter.Tk()
top.title("mp3修改器")
# 先打开一个文件,然后将ico的base64数据写到当前ico文件里
top.iconbitmap("logo.ico")  # 设置图标
os.remove("logo.ico")  # 再删除图标
# 进入消息循环
top.mainloop()

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区