Bonjour,

J'utilise Tkinter et je veux faire bouger un oval avec la fonction move. Et en fait je veux faire bouger mon oval avec des valeurs qui sont dans une liste.
Je ne comprends par car au lieu de voir bouger mon oval de ses coordonnées initiales vers les 4 coordonnées de la liste, lorsque je lance mon programme mon oval prend directement la derniere valeur de la liste.

Pouvez-vous me dire pourquoi,

Merci,


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
l = [10,15,25,50]
 
for i in l:
    def move_():
        Canevas.move(Balle,i,0)
 
Mafenetre = Tk()
Mafenetre.geometry('500x500')
 
Canevas = Canvas(Mafenetre,height=550,width=550,bg='white')
oval = Canevas.create_oval(5,8,480,480)
Canevas.pack(padx=5,pady=5)
 
x0 = 495/2
y0 = 495/2
y1 = 455/2
y2 = 449/2
 
Balle = Canevas.create_oval(x0,y0,x1,y1,width=3)
 
move_()
Mafenetre.after(10000,move_)
Mafenetre.mainloop()