Tkinter 視窗預設的圖標 (icon) 是一個羽毛, 以下面簡單的空視窗程式為例 :
import tkinter as tk
from tkinter import ttk
# 建立視窗
root=tk.Tk() # 建立視窗物件
root.title('測試') # 設定視窗標題
root.geometry('300x200') # 設定視窗尺寸
root.mainloop()
執行後可看到視窗左上角的預設羽毛圖標 :
如果要更改為自訂的圖標該怎麼做? 首先用小畫家或其他圖像編輯軟體製作一個 16*16 的圖檔, 例如我用 Tony 的 T 作為圖標 (logo.bmp) : , 然後用線上轉檔軟體轉成 .ico 檔, 例如 :
雖然此網站標題寫 'png 轉 ico', 其實 jpg 或 bmp 等都是可以的 :
轉完後下載 logo,ico, 將其放在程式目錄下, 然後改寫程式, 呼叫根視窗物件的 iconbitmap() 方法並傳入圖標的檔名即可 :
import tkinter as tk
from tkinter import ttk
# 建立視窗
root=tk.Tk() # 建立視窗物件
root.title('測試') # 設定視窗標題
root.geometry('300x200') # 設定視窗尺寸
root.iconbitmap('logo.ico')
root.mainloop()
結果如下 :
2023-07-16 補充 :
如果程式搬移時 .ico 檔沒有隨同搬移, 則執行時會因為讀不到檔案而發生例外, 因此需用 try except 捕捉, 例如 :
import tkinter as tk
from tkinter import ttk
# 建立視窗
root=tk.Tk() # 建立視窗物件
root.title('測試') # 設定視窗標題
root.geometry('300x200') # 設定視窗尺寸
try: # 避免沒有 logo 時錯誤
root.iconbitmap('logo.ico')
except Exception as e:
pass
root.mainloop()
這樣當 logo.ico不存在時就會使用預設的 .ico.
沒有留言:
張貼留言