我想只為 tkinter 中的 askopenfilename 視窗更改視窗圖示,同時隱藏主 Tk() 視窗,但是當我使用Tk().iconbitmap("myIcon.ico")before 時Tk().withdraw(),在更改圖示時,根視窗仍然沒有消失。
這是我的代碼:
from tkinter import Tk
from tkinter.filedialog import askopenfilename
window_icon = 'icon.ico'[enter image description here][1]
Tk().iconbitmap(window_icon)
Tk().withdraw() # keep the root window from appearing
filename = str(askopenfilename(title='Select an image file', initialdir='')
如果我洗掉了這一行:Tk().iconbitmap("myIcon.ico")那么它可以在視窗生成時正常作業,但是視窗上沒有圖示。
我想洗掉這個根視窗,如圖所示:https : //i.stack.imgur.com/SJm0R.png
另外,請建議我是否可以使用 PIL 代碼將保存的 jpg 檔案轉換為臨時 ico 檔案資料,該資料可以代替myIcon.ico? 因為這種更改圖示的方法是以 .ico 檔案作為輸入,我用 jpg 很方便。
謝謝
PS:這是我關于stackoverflow的第一個問題!!!
uj5u.com熱心網友回復:
實際上,您已經創建了兩個實體Tk():
Tk().iconbitmap(window_icon) # first instance
Tk().withdraw() # 2nd instance
所以你只需隱藏第二個實體。
Tk()改為創建單個實體:
root = Tk()
root.withdraw() # keep the root window from appearing
root.iconbitmap(window_icon)
您可以使用Pillow( PILclone) 模塊將 JPEG 影像用作圖示:
from tkinter import Tk
from PIL import ImageTk
root = Tk()
window_icon = ImageTk.PhotoImage(file="icon.jpg")
root.iconphoto(True, window_icon)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/327489.html
