我想创建一个转轮的动画,并希望在while循环中有一个小的延迟,然后每次更新轮子。我已经尝试了tkinter中的“after”函数以及python中的“sleep”函数,但是它会崩溃或完成该计算,并且只会显示轮子转动时没有实际动画的最后一个位置。虽然循环不工作在tkinter动画
我的转轮产生的功能:
def turning():
#initial wheel position
global position
pos(position)
#infinite loop turning the wheel
while(1):
root.after(1000, spin)
def spin():
global position
global speed
delspike() #delete current wheel
position += speed #calculate next position
if position > 360:
position -= 360
pos(position) #draw new wheel
这是为什么不工作?
尝试在绘制或重绘轮子后调用'root.update_idletasks()'。 – martineau
@Pythonista:不,'while True'循环不是解决方案。它具有完全相同的不良行为。 –