看看代码!
root = Tk()
frame = Frame(root)
labelText = StringVar()
label = Label(frame, textvariable=labelText)
labelText.set("Connecting to the server...")
def welcome_note():
time.sleep(5)
labelText.set("Welcome!")
welcome_note()
label.pack()
frame.pack()
root.mainloop()
执行代码时,应将其作为“连接服务器”,然后5秒钟后应显示“欢迎”
但是它仅在5秒钟后执行“欢迎” ...
答案 0 :(得分:1)
5秒后使用方法after
呼叫welcome_note
def welcome_note():
labelText.set("Welcome!")
root = Tk()
frame = Frame(root)
labelText = StringVar()
label = Label(frame, textvariable=labelText)
labelText.set("Connecting to the server...")
label.pack()
frame.pack()
# Calls welcome_note after 5 seconds
root.after(5000, welcome_note)
root.mainloop()
答案 1 :(得分:0)
这将解决您的问题。发生这种情况是因为您的标签不知道更新的信息。因此,添加这些行将显示更改。
使用此link可获得更多信息。
from tkinter import *
import time
root = Tk()
frame = Frame(root)
labelText = StringVar()
labelText.set("Connecting to the server...")
label = Label(frame, textvariable=labelText)
label.pack() # ADD THIS
frame.pack() # ADD THIS
label.update() # ADD THIS
def welcome_note():
time.sleep(5)
labelText.set("Welcome!")
label.pack()
frame.pack()
welcome_note()
root.mainloop()