如何在 Tkinter 中设置窗口图标
Jinku Hu
2024年2月15日
Tkinter
Tkinter Window
Tkinter Icon
我们将介绍在 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 图像。
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
