我正在使用Tkinter制作pi记忆游戏。 (Python 2.7)我的主循环必须同时更新Tkinter窗口,并显示pi的新数字供您复制。我的第一个循环代码是
wait = 5
for digit in pilist:
if wait > 1:
wait -= 1
display.delete("all")
display.create_text((50, 50), text=digit)
tk.update()
time.sleep(wait)
这很好用,速度提高了,数字提前了。但是输入条目小部件显得很迟钝,因为它只会更新每个循环,并且循环速度变慢。然后我尝试了这个:
wait = 5
initialtime = time.time()
for digit in pilist:
if wait > 1:
wait -= 1
newtime = time.time()
if newtime - initialtime >= wait:
initialtime = time.time()
display.delete("all")
display.create_text((50, 50), text=digit)
tk.update()
列表会更新很好,但我的列表(其中有333个元素)会跳过元素,因为列表会前进,即使显示的唯一数字是每个等待< if语句变为true时的/ em>秒。那么,如何每隔等待秒推进列表,但仍然更新更快?我希望我的问题很明确。