You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter延迟更新标签异常:窗口3秒后才显示最终文本

Tkinter Label延迟更新问题解决

你的代码核心问题出在after方法的调用上:

  • 你写的label.after(3000, update())会立刻执行update()函数,直接把Label文本改成了"World",而after方法实际接收到的是update()的返回值(None),导致窗口要等3秒才进入主循环显示,自然看不到初始的"Hello"。

修正方法很简单:去掉update后面的括号,把函数本身作为参数传递给after,这样after才会在3秒后调用这个函数:

import tkinter as tk

root = tk.Tk()
root.title("bruh")
root.geometry("1080x720")

def update():
    label.config(text= "World")

label = tk.Label(root, text = "Hello", font = ("Consolas", 40), width = 1080, height = 720)
label.pack()
# 去掉update后的括号,传递函数对象
label.after(3000, update)
root.mainloop()

简单解释下Tkinter的after方法:第一个参数是延迟的毫秒数,第二个参数是要延迟执行的函数名(不带括号)。如果直接加括号,函数会被立即执行,而不是等待延迟后执行。

内容的提问来源于stack exchange,提问作者Foxxboii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:01:01