如何在 Tkinter 中设置窗口图标
Jinku Hu
2024年2月15日
我们将介绍在 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
图像。