##----- Importation des Modules -----##
from tkinter import *
from random import *
##----- Variables globales -----##
couleur = 'blue' # Couleur par défaut
##-----Définition des fonctions-----##
def tracer():
"""Trace un cercle de couleur, de centre un point de coordonnées aléatoires
(entre 50 et 250) et de rayon aléatoire (entre 10 et 40)."""
global couleur # Variable globale, modifiée dans le programme principal
x0, y0 = randint(50,250), randint(50,250)
r = randint(10,40)
dessin.create_oval(x0-r, y0-r, x0+r+1, y0+r+1, width=2, outline=couleur)
def change_couleur():
"""Permet le changement aleatoire de couleur parmi les 7 d'une liste donnée."""
global couleur # Variable globale, modifiée dans le programme principal
couleur=choice(['purple', 'cyan', 'green', 'red', 'blue', 'orange', 'black'])
def effacer():
"""Efface toutes les figures déjà tracée dans le canevas."""
global couleur
dessin.delete(ALL)
couleur='blue'
##----- Création de la fenêtre -----##
fen = Tk()
fen.title('Cercles')
##----- Création des boutons -----##
bouton_quitter = Button(fen, text='Quitter', command=fen.quit)
bouton_quitter.grid(row = 1, column = 3, padx=3, pady=3)
bouton_tracer = Button(fen, text='Tracer un cercle', command=tracer)
bouton_tracer.grid(row = 1, column = 0, padx=3, pady=3)
bouton_changer = Button(fen, text='Nouvelle couleur', command=change_couleur)
bouton_changer.grid(row = 1, column = 1, padx=3, pady=3)
bouton_effacer = Button(fen, text='Effacer', command=effacer)
bouton_effacer.grid(row = 1, column = 2, padx=3, pady=3)
##----- Création des canevas -----##
dessin = Canvas(fen, width=302, height=302, bg='white')
dessin.grid(row = 0, column = 0, columnspan=4, padx=3, pady=3)
##----- Programme principal -----##
fen.mainloop() # Boucle d'attente des événements