如何在 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