【发布时间】:2019-02-14 13:15:37
【问题描述】:
这是一个非常简单的问题,已经在我的标题中解释过,代码如下:
def flash():
import time
for i in range(1,len(says)):
label5.config(bg=says[i])
time.sleep(1)
time.sleep,在这种情况下,什么都不做,只是将我的程序延迟几秒钟,然后只显示函数的最终结果并跳过对我来说非常重要的整个过程。
【问题讨论】:
-
您不能使用
sleep阻止 tkinter UI 线程。我认为它有自己可以使用的延迟机制。 -
Python time.sleep的可能重复
-
这是一个松散的副本,但它可能会回答您的问题。
-
这种情况下如何使用? .after 之前是什么?
-
@Treemur 您可能需要使
flash递归或类似的东西。您可以给flash一个包含剩余says项目的参数,然后执行def flash(rest): label5.config(bg=says[0]); label5.after(1000, lambda: flash(rest[:1]))之类的操作,然后处理rest为空。然后将flash称为flash(says)。