Sto*_*bor 39
第一步:
使用图标编辑器或rw-designer等网站创建透明图标.保存为transparent.ico
.
第二步:
from tkinter import *
tk = Tk()
tk.iconbitmap(default='transparent.ico')
lab = Label(tk, text='Window with transparent icon.')
lab.pack()
tk.mainloop()
Run Code Online (Sandbox Code Playgroud)
类似的东西,但使用xbm
图标.
ubo*_*omb 10
类似于接受的答案(与丑陋的骗局):
import tkinter
import tempfile
ICON = (b'\x00\x00\x01\x00\x01\x00\x10\x10\x00\x00\x01\x00\x08\x00h\x05\x00\x00'
b'\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\x00\x01\x00'
b'\x08\x00\x00\x00\x00\x00@\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x01\x00\x00\x00\x01') + b'\x00'*1282 + b'\xff'*64
_, ICON_PATH = tempfile.mkstemp()
with open(ICON_PATH, 'wb') as icon_file:
icon_file.write(ICON)
tk = tkinter.Tk()
tk.iconbitmap(default=ICON_PATH)
label = tkinter.Label(tk, text="Window with transparent icon.")
label.pack()
tk.mainloop()
Run Code Online (Sandbox Code Playgroud)
它只是在运行时创建文件,因此您不必携带额外的文件.使用相同的方法,您也可以为Unix执行'.xbm'图标.
编辑:ICON
由于@Magnus Hoff,可以进一步缩短:
import base64, zlib
ICON = zlib.decompress(base64.b64decode('eJxjYGAEQgEBBiDJwZDBy'
'sAgxsDAoAHEQCEGBQaIOAg4sDIgACMUj4JRMApGwQgF/ykEAFXxQRc='))
Run Code Online (Sandbox Code Playgroud)