procédure graphique avec tkinter
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
des recherches en perspectives
je vous remercie pour vos réponses, je vais étudier tous ça tranquilement