【发布时间】:2015-02-03 16:01:08
【问题描述】:
我有一个简单的 tkinter GUI,带有一个显示数字和一个按钮的标签。我将它设置为变量 x,当按下按钮时,x 的值增加一。但是,当我点击按钮时,标签不会更新。我该怎么做?
from tkinter import *
x = 1
def add():
global x
x += 1
win = Tk()
label = Label(win, text=x)
label.pack()
button = Button(win, text="Increment", command=add)
button.pack()
win.mainloop()
【问题讨论】:
-
整数是不可变的,当您执行
x += 1时,您将一个新对象 分配给x,而Label仍然指向旧的(嗯,有点......)。要么从add显式更新l,要么将IntVar用于x。