是否可以在 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()

您可以将 aftersleep 一起使用,但它们将各自执行文档中规定的操作。 sleep 将导致程序休眠,然后 运行 在给定时间段后的某个时间作业。如果程序正在休眠,则无法处理事件队列,因此 after 计划的作业无法 运行 直到程序停止休眠。

例如,如果你做root.after(1000, something)然后time.sleep(5),那么程序会休眠五秒钟,然后当它醒来时会运行something.

根据一般经验,您永远不应在 GUI 程序的主线程中调用 time.sleep