我正在使用Tkinter创建一个带有输入字段和按钮的窗口。当按下按钮并且不满足某个条件时,我需要my_label2来显示特定文本,在这种情况下为“无效”。否则,我需要my_label2为空。我在按钮按下调用的函数内部有变量label_text,但是我得到一个错误,说明没有定义label_text。有人可以帮我解决这个问题吗?
root = tk.Tk()
def my_function():
valid = #this variable is either true or false
if valid :
label_text = ''
else :
label_text = 'Not Valid'
my_label = tk.Label(root, text = "Enter text: ")
my_label.grid(row = 0, column = 0)
my_entry = tk.Entry(root)
my_entry.grid(row = 0, column = 1)
my_button = tk.Button(root, text = "Submit", command = my_function)
my_button.grid(row = 1, column = 1)
my_label2 = tk.Label(root, textvariable = label_text)
my_label2.grid(row = 2, column = 1)
root.mainloop()
答案 0 :(得分:0)
Tkinter Variables
与普通变量不同。要创建一个:
label_text = tk.StringVar()
然后,您需要使用set
方法,而不是分配给变量:
label_text.set('')
或
label_text.set('Not Valid')