0 python
如果我创建了Tkinter窗口,其中一些文本填满整个窗口,现在想用新文本替换窗口,有没有办法刷新窗口?
例如:
a= 100
win= Tk()
win.geometry("500x300")
while a > 0:
if a%2 == 0:
lbl = Label (win, bg = "purple")
lbl.pack()
else:
lbl = Label (win, bg = "blue")
lbl.pack()
a= x-1
Run Code Online (Sandbox Code Playgroud)
这段代码的问题是Tkinter窗口不刷新,只提供最终结果,而不是显示窗口改变颜色.谢谢您的帮助!
这不是改变UI状态的方法,因为即使你刷新了窗口它也会很快你不会注意到,而是改变状态,等待一段时间再改变状态,例如这里我展示了如何设置颜色动画
from Tkinter import *
index = 0
def changeColor():
global index
if index%2==0:
label.configure(bg = "purple")
else:
label.configure(bg = "blue")
index+=1
label.after(1000, changeColor)
root = Tk()
mainContainer = Frame(root)
label = Label(mainContainer, text="")
label.configure(text="msg will change every sec")
label.pack(side=LEFT, ipadx=5, ipady=5)
mainContainer.pack()
label.after(1000, changeColor)
root.title("Timed event")
root.mainloop()
Run Code Online (Sandbox Code Playgroud)