bonjour
je n'ai pas l'habitude de programmer des GUI donc j'ai du mal à comprendre la façon dont s'exécute les instruction (pour le moment je programme de façon procédural et pas en POO)
j'ai exécuté le programme suivant:
from tkinter import *
def demarer():
global x,d
for i in range (100):
x=x+d
can.coords(balle,x-10,y-10,x+10,y+10) (ligne 1)
print(x) (ligne 2)
if x>395 or x<5:
d=-d
x=100;y=100;d=10
fen=Tk()
can=Canvas(fen,bg='grey',height=400,width=400)
can.pack(side=TOP)
bouton=Button(fen,text=' ',command=demarer)
bouton.pack()
balle=can.create_oval(x-10,y-10,x+10,y+10,width=2,fill='red')
pour moi ce programme devrait, lorque l'on click sur 'bouton', appeler la fonction 'demarer' , entrer dans la boucle, exécuter la ligne 1 ce qui devrait déplacer la balle de 10 pixel et recommencer jusqu'100. la balle devrait donc se déplacer.
Or quand j'exécute le programme, la ligne 2 s'exécute normalement(on voit les nombre aller de 1 a100) mais la balle reste immobile. Ce n'est que lorsque la boucle est fini que la balle disparait puis réapparait à sa position finale.
J'ai alors mis la ligne 1 à l"extérieur de la boucle et j'observe exactement la même chose.
quelqu'un pourrait il m'expliquer la raison de ceci
en vous remerciant
Partager