Ich versuche, eine Animation eines sich drehenden Rades zu erstellen und möchte eine kleine Verzögerung in einer while-Schleife haben und dann das Rad jedes Mal aktualisieren. Ich habe sowohl die "after" -Funktion in tkinter als auch die "sleep" -Funktion in Python ausprobiert, aber entweder stürzt sie ab oder beendet die Conquutation und zeigt mir nur die letzte Position ohne die eigentliche Animation, während sich das Rad dreht.While-Schleife funktioniert nicht in Tkinter Animation
Die Funktion, die ich für das sich drehende Rad geschaffen:
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
warum funktioniert das nicht?
Versuchen Sie 'root.update_idletasks()' aufzurufen, nachdem Sie das Rad gezeichnet oder neu gezeichnet haben. – martineau
@Pythonista: Nein, die 'while True'-Schleife ist nicht die Lösung.Es wird genau das gleiche schlechte Verhalten haben. –