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
| # -*- coding:cp437 -*-
from Tkinter import *
from random import randrange
# --- définition des fonctions gestionnaires d' événements : ---
def drawline():
"tracé d'une ligne dans le cavenas can1"
global x1, y1, x2, y2, coul
can1.create_line(x1,y1,x2,y2,width=2,fill=coul)
# modification des coordonnées pour la ligne suivante :
y2, y1= y2+10, y1- 10
def changecolor():
"changement aléatoire de la couleur du tracé"
global coul
pal = ['purple','cyan','maroon','green','red','blue','orange','yellow']
c = randrange(8) # => génère un nombre aléatoire de 0 à 8
coul = pal[c]
#--------- programme principal --------
# les variables suivantes seront utilisées de manière globale :
x1, y1, x2, y2= 10, 190, 190, 10 # coordonnées de la ligne
coul = 'red' # couleur de la ligne
# création du widget principal ("maître") :
fen1 = Tk()
# création des widgets "esclaves" :
can1 = Canvas(fen1,bg = 'black',height=200,width=200)
can1.pack(side=LEFT)
bou1 = Button(fen1,text='Quitter', command = fen1.quit)
bou1.pack(side=BOTTOM)
bou2 = Button(fen1,text='Tracer une ligne', command=drawline)
bou2.pack()
bou3 = Button(fen1,text='Autre couleur', command=changecolor)
bou3.pack()
fen1.mainloop() # démarrage du réceptionnaire d'événements
fen1.destroy() # destruction (fermeture) de la fenêtre |