【Python经验】tkinter窗口图标

本篇主题:
如何不使用额外图片文件设定tkinter窗口图标?



1.使用图标文件的方法(这个不是本次主题,只是提一下)
root.iconbitmap("icon.ico")  #将root替换为你在类似于root = tkinter.Tk()的代码中定义的窗口名,将icon.ico替换为图标路径


2.不使用额外图标文件(本次主要内容)
这意味着需要将图标内容存储在源代码中,因此需要将图标转为一串编码。
将图片转为这种编码的方法如下(图标文件格式不是ico,需要为png):
from PIL import Image

import io

import base64



# 读取图片

img = Image.open('image.png')  #将image.png替换为你的png图标路径



# 将图片转换为GIF89a格式

with io.BytesIO() as output:

    img.save(output, format='GIF')

    gif = output.getvalue()



# 对GIF格式字节串进行base64编码

encoded_string = base64.b64encode(gif).decode('utf-8')



# 输出

print(encoded_string)
然后直接复制输出的结果。
接下来是将图标放到tkinter窗口中的办法(将下面的代码插入到类似root = tkinter.Tk()的代码下面就行):
icon = tkinter.PhotoImage(data=b"icon_data")  #将icondata直接替换为复制的图标编码,其他不要改动
好了,大功告成!

3.注意事项
使用方法2需先安装pillow库。
方法:
批处理输入
pip install pillow


原创文章,转载请标明出处!
 
 
 
posted @ 2024-06-16 22:17  HZProgram  阅读(328)  评论(0)    收藏  举报