如何刷新Tkin的窗口

2024-05-19 02:50:05 发布

您现在位置: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

此代码的问题是Tkinter窗口不刷新,只提供最终结果,而不显示更改颜色的窗口。 谢谢你的帮助!


Tags: 方法文本iftkinterbluewinelselabel
1条回答
网友
1楼 · 发布于 2024-05-19 02:50:05

这不是改变用户界面状态的方法,因为即使你刷新了窗口,你也不会注意到,而是改变状态,等待一段时间,然后再次改变状态,例如,我在这里展示了如何设置颜色的动画

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()

相关问题 更多 >

    热门问题