如何在 Tkinter 中设置窗口图标
我们将介绍在 Tkinter 中设置窗口图标的方法。
root.iconbitmap
设置窗口图标root.tk.call()
设置窗口图标root.iconphoto
设置窗口图标
root.iconbitmap
设置窗口图标
import tkinter as tk
root = tk.Tk()
root.iconbitmap('/path/to/ico/icon.ico')
root.mainloop()
iconbitmap(bitmap)
将窗口/框架控件的图标设置为 bitmap
。bitmap
必须是一个 ico
类型,不能为 png
或 jpg
等类型,否则,图像不会显示为图标。
上图显示了使用在 iconbitmap
使用 ico
类型。
如果你使用 png
类型,则窗口中显示的图标将为空白,
tk.call('wm', 'Iconphoto', )
设置窗口图标的方法
import tkinter as tk
root = tk.Tk()
root.tk.call('wm', 'iconphoto', root._w, tk.PhotoImage(file='/path/to/ico/icon.png')
root.mainloop()
tk.call
方法是 Tkinter 到 tcl
解释器的接口。我们可以用 call
方法运行 tcl
命令。
当 Tkinter 包装器无法访问某些 tcl/tk
功能时,这很方便。
wm
与窗口管理器通信。
我们需要将图像设置为 tk.PhotoImage
而不是图像本身,否则会出现 _tkinter.TclError
错误。
root.iconphoto
设置窗口图标
设置窗口图标的另一种方法是使用 root.iconphoto()
方法,它与 tk.call('wm', 'iconphoto', )
一样,能接受更多图像类型。
import tkinter as tk
root = tk.Tk()
root.iconphoto(False, tk.PhotoImage(file='/path/to/ico/icon.png'))
root.mainloop()
在这里,False
意味着该图标图像仅适用于该特定窗口,而不适用于将来创建的 toplevels
窗口。
如果使用 True
的话,则图标图像也将应用于以后创建的所有 toplevels
图像。
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn