每次循环时,它都会创建一个全新的标签,而不仅仅是刷新。
from tkinter import *
import psutil
def task():
e = Entry(root)
e.pack()
e.delete(0, END)
e.insert(0,psutil.cpu_percent(interval=None))
s = e.get()
root.after(500, task) # reschedule event in .5 seconds
root = Tk()
root.after(500, task)
root.mainloop()
答案 0 :(得分:1)
因为每次调用task
函数时,它都会创建一个新的Entry对象并删除新对象的内容,而不是使用一个全局条目。
首先创建条目:
root = Tk()
e = Entry(root)
e.pack()
然后确保您的任务功能正在使用唯一的全局条目e
而不创建任何新条目:
def task():
e.delete(0, END)
e.insert(0, psutil.cpu_percent(interval=None))
root.after(500, task)
然后你可以调用该函数并让它自己调用。