我正在尝试使用Tkinter在标签内不断更改整数。
import tkinter
root = tkinter.Tk()
var = tkinter.IntVar()
label = tkinter.Label(root, textvariable=var)
button = tkinter.Button(root, command=lambda: var.set(var.get() + 1), text='+1')
label.pack()
button.pack()
root.mainloop()
我在搜索后最接近我需要的是上面的例子。但是,您需要单击一个按钮来更改整数,我需要的是没有任何东西供用户操作,以便更改整数。
我有一个在程序运行时不断变大的数组,每当有一个新元素附加到它时我需要打印它的长度。
更新:工作回答:
import tkinter
import time
root = tkinter.Tk()
var = tkinter.IntVar()
label = tkinter.Label(root, textvariable=var)
label.pack()
def update_Value():
for i in range(5):
time.sleep(1)
var.set(i)
root.update()
root.after(0, update_Value)
root.mainloop()
答案 0 :(得分:1)
您可以使用root.after(time_in_milisecond, function_name)
调用在标签中更改值而无需用户交互的函数。
示例:showing current time using after
以下是该问题代码的示例,使用after
在mainloop
启动后自动调用该函数:
import tkinter
import time
root = tkinter.Tk()
var = tkinter.IntVar()
label = tkinter.Label(root, textvariable=var)
label.pack()
def function():
for i in range(5):
var.set(i)
root.update()
time.sleep(1) # to slow down
root.after(1, function)
root.mainloop()