我正在尝试更改tkinter窗口上的图标,我认为我的问题源于我缺乏理解课程。
我想知道原因:
import tkinter
root = tkinter.Tk()
img = tkinter.PhotoImage(file = r'stockIcon.gif')
root.tk.call('wm', 'iconphoto', root._w, img)
root.mainloop()
完美无缺。但是:
import tkinter
class Test:
def __init__(self):
self.root = tkinter.Tk()
self.img = tkinter.PhotoImage(file = r'stockIcon.gif')
self.root.tk.call('wm', 'iconphoto', root._w, img)
self.root.mainloop()
test = Test()
抛出NameError: name 'root' is not defined
。我误解了什么?
答案 0 :(得分:5)
您需要通过root
self.root
变化:
self.root.tk.call('wm', 'iconphoto', root._w, img)
为:
self.root.tk.call('wm', 'iconphoto', self.root._w, img)