1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| # charge la bibliothèque graphique tkinter
from tkinter import *
# Court programme qui dessine les 5 anneaux olympiques dans un rectangle
# de fond blanc (white). Un bouton « Quitter » doit permettre de fermer la fenêtre.
# Modifiez le programme ci-dessus en y ajoutant 5 boutons.
# Chacun de ces boutons provoquera le tracé de chacun des 5 anneaux
# --- définition des fonctions gestionnaires d'événements : ---
def drawline5():
global x1, y1, x2, y2, coul
i = 0
# "Trace les anneaux olympiques dans le canevas can1"
while i < 3 :
can1.create_oval(x1,y1,x2,y2,width=4, outline=coul[i])
x1, x2 = x1+120, x2+120 # modification des coordonnées horizontales pour l'anneau suivant
i=i+1
y1, y2 = y1+50, y2+50 # modification des coordonnées verticales pour les anneaux suivants
x1, x2 = x1-180, x2-180 # modification des coordonnées horizontales pour les anneaux suivants
while i < 5 :
can1.create_oval(x1,y1,x2,y2,width=4, outline=coul[i])
x1, x2 = x1-120, x2-120 # modification des coordonnées horizontales pour l'anneau suivant
i=i+1
x1, y1, x2, y2 = 50 ,50 ,150 , 150 # repositionne les coordonnées de départ des anneaux
def drawline1(n):
global x1, y1, x2, y2, coul
can1.create_oval(x1,y1,x2,y2,width=4, outline=coul[0])
# fonction à finaliser
# ...
#------ Programme principal -------
# les variables suivantes seront utilisées de manière globale :
coul = ['blue','black','red','green','yellow'] # couleur de contour des anneaux
# Création du widget principal ("maître") :
x1, y1, x2, y2 = 50 ,50 ,150 , 150 # coordonnées de départ des anneaux
fen1 = Tk(className='\Anneaux olympiques')
# création des widgets "esclaves" :
can1 = Canvas(fen1,bg='white',height=250,width=440)
can1.pack(side=LEFT)
bou1 = Button(fen1,text=' Quitter ',command=fen1.quit)
bou1.pack(side=BOTTOM)
bou2 = Button(fen1,text='Trace les 5 anneaux',command=drawline5)
bou2.pack()
bou3 = Button(fen1,text=' Trace l\'anneau 1 ',command=drawline1(1))
bou3.pack()
bou4 = Button(fen1,text=' Trace l\'anneau 2 ',command=drawline1(2))
bou4.pack()
bou5 = Button(fen1,text=' Trace l\'anneau 3 ',command=drawline1(3))
bou5.pack()
bou6 = Button(fen1,text=' Trace l\'anneau 4 ',command=drawline1(4))
bou6.pack()
bou7 = Button(fen1,text=' Trace l\'anneau 5 ',command=drawline1(5))
bou7.pack()
fen1.mainloop() # démarrage du réceptionnaire d'événements
fen1.destroy() # destruction (fermeture) de la fenêtre |
Partager