tkinter标签在python中未正确显示

2024-04-23 05:30:14 发布

您现在位置:Python中文网/ 问答频道 /正文

看看密码!你知道吗

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秒后执行“欢迎”。。。你知道吗


Tags: 密码rootframelabelpacktknoteset
2条回答

这应该能解决你的问题。这是因为你的标签不知道更新的信息。因此,添加这些行将显示更改。你知道吗

有关详细信息,请使用此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()

使用方法after在5秒后调用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()

相关问题 更多 >