-1
下面的脚本文本标签,退出按钮创建一个Tkinter的窗口,更改文本按钮:蟒蛇 - 改变Tkinter的标签
from tkinter import *
from tkinter import ttk
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
test_label = Label(root, text="none").grid(row=0, column=0, sticky=W)
change_text_btn = Button(root, text="change_text", command=self.set_label_text).grid(row=2, column=0, sticky=W)
exit_btn = Button(root, text="Exit", command=self.client_exit).grid(row=2, column=1, sticky=W)
def set_label_text(self):
test_label.config(text='changed the value')
def client_exit(self):
exit()
if __name__ == '__main__':
root = Tk()
app = Window(root)
root.mainloop()
点击change_text_btn
后,我得到一个NameError: name 'test_label' is not defined
错误。所以问题是在init_window()
中创建的test_label
无法从set_label_text()
开始使用。我如何解决它?
您是否可以缩进'set_label_text'函数来使其分开'init_window?' – GreenSaber
只需缩进它 - doesent工作; 缩进和像这样变化: 'def set_label_text(self): self.test_label.config(text ='changed the value')' doesen't work; 缩进并像这样改变: 'def set_label_text(): test_label.config(text ='changed the value')' doesen't work to; 在所有情况下,我得到''窗口'对象没有属性'set_label_text''错误 – t411tocreate