tkinter - 替换子图标 window
tkinter - replace icon for child window
我想为顶级 window 和子级 window 替换默认的 python tkinter 图标。我已经尝试了几件导致错误的事情。替换父子图标的最佳方法是什么 windows?请参阅下面的尝试 - 我正在使用 python 3.9.1
import tkinter as tk
from PIL import Image, ImageTk
m = tk.Tk()
m.title('Main Window')
m.geometry('300x100')
blankImageObject = tk.PhotoImage(file='icons/blankIcon.png')
m.tk.call('wm', 'iconphoto', m._w, blankImageObject)
c = tk.Tk('m')
c.title('Child Window')
c.geometry('300x100')
#try to re-use the same image object created for the main window
#c.tk.call('wm', 'iconphoto', c._w, blankImageObject)
#try creating a new PhotoImage object
#c.tk.call('wm', 'iconphoto', c._w, tk.PhotoImage(file='icons/blankIcon.png'))
#try using main window instead of the child window in the Tcl call
#c.tk.call('wm', 'iconphoto', m._w, tk.PhotoImage(file='icons/blankIcon.png'))
#try using main window in the Tcl call and the blankImageObject from the main window
#c.tk.call('wm', 'iconphoto', m._w, blankImageObject)
m.mainloop()
您可以通过创建一个新的 PhotoImage
对象来实现,但是您需要通过 master=
关键字参数来指定正确的 Tk
实例,如下图:
我也建议你阅读
import tkinter as tk
from PIL import Image, ImageTk
icon_filepath='icons/blankIcon.png'
m = tk.Tk()
m.title('Main Window')
m.geometry('300x100')
blankImageObject = tk.PhotoImage(file=icon_filepath)
m.tk.call('wm', 'iconphoto', m._w, blankImageObject)
c = tk.Tk('m')
c.title('Child Window')
c.geometry('300x100')
# Create a new PhotoImage object
blankImageObject2 = tk.PhotoImage(master=c, file=icon_filepath)
c.tk.call('wm', 'iconphoto', c._w, blankImageObject2)
m.mainloop()
我想为顶级 window 和子级 window 替换默认的 python tkinter 图标。我已经尝试了几件导致错误的事情。替换父子图标的最佳方法是什么 windows?请参阅下面的尝试 - 我正在使用 python 3.9.1
import tkinter as tk
from PIL import Image, ImageTk
m = tk.Tk()
m.title('Main Window')
m.geometry('300x100')
blankImageObject = tk.PhotoImage(file='icons/blankIcon.png')
m.tk.call('wm', 'iconphoto', m._w, blankImageObject)
c = tk.Tk('m')
c.title('Child Window')
c.geometry('300x100')
#try to re-use the same image object created for the main window
#c.tk.call('wm', 'iconphoto', c._w, blankImageObject)
#try creating a new PhotoImage object
#c.tk.call('wm', 'iconphoto', c._w, tk.PhotoImage(file='icons/blankIcon.png'))
#try using main window instead of the child window in the Tcl call
#c.tk.call('wm', 'iconphoto', m._w, tk.PhotoImage(file='icons/blankIcon.png'))
#try using main window in the Tcl call and the blankImageObject from the main window
#c.tk.call('wm', 'iconphoto', m._w, blankImageObject)
m.mainloop()
您可以通过创建一个新的 PhotoImage
对象来实现,但是您需要通过 master=
关键字参数来指定正确的 Tk
实例,如下图:
我也建议你阅读
import tkinter as tk
from PIL import Image, ImageTk
icon_filepath='icons/blankIcon.png'
m = tk.Tk()
m.title('Main Window')
m.geometry('300x100')
blankImageObject = tk.PhotoImage(file=icon_filepath)
m.tk.call('wm', 'iconphoto', m._w, blankImageObject)
c = tk.Tk('m')
c.title('Child Window')
c.geometry('300x100')
# Create a new PhotoImage object
blankImageObject2 = tk.PhotoImage(master=c, file=icon_filepath)
c.tk.call('wm', 'iconphoto', c._w, blankImageObject2)
m.mainloop()