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

如何在Tkinter中每秒调用一次函数?

Tkinter 实现每秒调用Update函数的方法

直接用while循环加time.sleep()在Tkinter里行不通——这会阻塞主事件循环mainloop(),导致界面完全无法响应和更新。正确的做法是用Tkinter自带的after()方法,它能在不打断事件循环的前提下,调度函数在指定时间后执行。

修改后的代码示例:

from tkinter import *

def Update():
    # 这里写入你的更新逻辑,比如修改控件内容、刷新数据等
    print("执行更新操作")
    # 1000毫秒(1秒)后再次调用Update,形成循环执行
    Master.after(1000, Update)

Master = Tk()
# 首次调用Update,启动更新循环
Update()
Master.mainloop()

核心说明

  • after(delay_ms, callback, *args)方法会把指定的回调函数加入Tkinter的事件队列,等待delay_ms毫秒后执行,期间主事件循环依然正常处理界面交互、渲染等任务。
  • 在Update函数末尾再次调用Master.after(1000, Update),就能让函数每隔1秒自动触发一次,实现持续更新的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 19:40:57