【问题标题】:Tkinter update label with variable from inside functionTkinter 使用内部函数的变量更新标签
【发布时间】:2018-04-09 21:52:54
【问题描述】:

我正在使用 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()

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    Tkinter Variables 不同于普通变量。创建一个:

    label_text = tk.StringVar()
    

    然后,您需要使用set 方法,而不是分配给变量:

    label_text.set('')
    

    label_text.set('Not Valid')
    

    见:http://effbot.org/tkinterbook/variable.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-05
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多