是否可以在 tkinter 中一起使用 .after() 和 time.sleep()?
Is it possible to use .after() and time.sleep() together in tkinter?
我想在一段时间后继续更新程序(使用time.sleep(0.1))并在每延迟1秒后调用某个函数(使用.after())。有可能这样做吗?下面是代码的一部分,我只需要添加 .after() 并且我不知道它应该去哪里,因为在 while 循环中编写它不会给出预期的结果。
while True:
draw()
time.sleep(0.1)
win.update()
您可以将 after
和 sleep
一起使用,但它们将各自执行文档中规定的操作。 sleep
将导致程序休眠,然后 运行 在给定时间段后的某个时间作业。如果程序正在休眠,则无法处理事件队列,因此 after
计划的作业无法 运行 直到程序停止休眠。
例如,如果你做root.after(1000, something)
然后time.sleep(5)
,那么程序会休眠五秒钟,然后当它醒来时会运行something
.
根据一般经验,您永远不应在 GUI 程序的主线程中调用 time.sleep
。
我想在一段时间后继续更新程序(使用time.sleep(0.1))并在每延迟1秒后调用某个函数(使用.after())。有可能这样做吗?下面是代码的一部分,我只需要添加 .after() 并且我不知道它应该去哪里,因为在 while 循环中编写它不会给出预期的结果。
while True:
draw()
time.sleep(0.1)
win.update()
您可以将 after
和 sleep
一起使用,但它们将各自执行文档中规定的操作。 sleep
将导致程序休眠,然后 运行 在给定时间段后的某个时间作业。如果程序正在休眠,则无法处理事件队列,因此 after
计划的作业无法 运行 直到程序停止休眠。
例如,如果你做root.after(1000, something)
然后time.sleep(5)
,那么程序会休眠五秒钟,然后当它醒来时会运行something
.
根据一般经验,您永远不应在 GUI 程序的主线程中调用 time.sleep
。