如何在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
相关产品推荐
相关产品推荐

