关于python tkinter打包并修改左上角图标的方法

使用python在windows开发tkinter程序打包时想改变默认的图片,经常会在打包成exe可执行文件后,无法正常打开(原因是找不到对应的ico文件),本人也是在网上找了很长时间,且试错了很多次,才总结到了下面这种方式。,希望能帮你解决问题。

首先,找到你想要做成图片的图片,把他改成 ico格式(网上能找到在线转换的工具),然后

代码如下:

1、用程序写一个make_icon.py文件,来生成icon.py文件

内容为定义一个类Icon 写一个初始化方法 def __init__(self):

import base64
with open("icon.py", "w") as f:
    f.write('class Icon(object):\n')
    f.write('\tdef __init__(self):\n')
    f.write("\t\tself.ig='")

# 2、将图标.ico打开,把它读取后转化为base64字节流,存放到icon.py文件中的ig变量内。(这里其实是拼接到最后)

path = "图标.ico"

with open(path, "rb") as i:
    b64str = base64.b64encode(i.read())
with open("icon.py", "ab+") as f:
        f.write(b64str)
with open("icon.py", "a") as f:
    f.write("'")

以上程序运行,会生成一个 icon.py的文件,后续打包和脚本放一个目录下。内容如下

3、打开你写好的调用tkinter的py文件,调用读取该icon文件的ig内容:

import icon
icon1 = icon.Icon
4、获取改ig变量的内容
icc = icon1().ig
with open('tmp.ico', 'wb') as tmp:
    tmp.write(base64.b64decode(icc))
5、创建一个临时ico图标给程序使用
root.iconbitmap('tmp.ico')
6、最后删除该文件
os.remove('tmp.ico')

最后用pyinstaller打包

注意:icon.py和test.py要放置到同一个路径下,然后进行打包

打包完成后左上角的图片就会改变

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值