是否可以使用.after()和time.sleep()一起在kinter?



我想在一段时间后保持更新程序(使用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

最新更新