Différences entre les versions de « Programmation Python/Utilisation de fenêtres et de graphismes »

solution
(cat)
(solution)
b) Modifiez le programme ci-dessus en y ajoutant 5 boutons. Chacun de ces boutons provoquera le tracé de chacun des 5 anneaux</li>
<li>Dans votre cahier, établissez un tableau à deux colonnes. Vous y noterez à gauche les définitions des classes d'objets déjà rencontrées (avec leur liste de paramètres), et à droite les méthodes associées à ces classes (également avec leurs paramètres). Laisser de la place pour compléter ultérieurement.</li>
</ol>
{{solution}}
<ol>
<li>Réfléchissez !</li>
<li>Réfléchissez !</li>
<li>Réfléchissez !</li>
<li>Réfléchissez !</li>
<li>Réfléchissez !</li>
<li>Réfléchissez !</li>
<li>
<pre>
from Tkinter import *
 
# Coordonnées X,Y des 5 anneaux :
coord = [[20,30], [120,30], [220, 30], [70,80], [170,80]]
# Couleurs des 5 anneaux :
coul = ["red", "yellow", "blue", "green", "black"]
 
base = Tk()
can = Canvas(base, width =335, height =200, bg ="white")
can.pack()
bou = Button(base, text ="Quitter", command =base.quit)
bou.pack(side = RIGHT)
# Dessin des 5 anneaux :
i = 0
while i < 5:
x1, y1 = coord[i][0], coord[i][1]
can.create_oval(x1, y1, x1+100, y1 +100, width =2, outline =coul[i])
i = i +1
base.mainloop()
</pre>
Variante :
<pre>
from Tkinter import *
 
# Dessin des 5 anneaux :
def dessineCercle(i):
x1, y1 = coord[i][0], coord[i][1]
can.create_oval(x1, y1, x1+100, y1 +100, width =2, outline =coul[i])
 
def a1():
dessineCercle(0)
 
def a2():
dessineCercle(1)
 
def a3():
dessineCercle(2)
 
def a4():
dessineCercle(3)
 
def a5():
dessineCercle(4)
 
# Coordonnées X,Y des 5 anneaux :
coord = [[20,30], [120,30], [220, 30], [70,80], [170,80]]
# Couleurs des 5 anneaux :
coul = ["red", "yellow", "blue", "green", "black"]
 
base = Tk()
can = Canvas(base, width =335, height =200, bg ="white")
can.pack()
bou = Button(base, text ="Quitter", command =base.quit)
bou.pack(side = RIGHT)
 
# Installation des 5 boutons :
Button(base, text='1', command = a1).pack(side =LEFT)
Button(base, text='2', command = a2).pack(side =LEFT)
Button(base, text='3', command = a3).pack(side =LEFT)
Button(base, text='4', command = a4).pack(side =LEFT)
Button(base, text='5', command = a5).pack(side =LEFT)
base.mainloop()
</pre>
[[Image:Apprendre à programmer avec Python 72.png|center|fenetre avec les 5 anneaux olympiques]]
</li>
</ol>
{{fin}}
8 843

modifications