Débuter avec tkinter
1°) A tester dans la console :
>>> from tkinter import *
>>> fenetre = Tk()
# On créé l'affichage d'un texte
>>> texte = Label(fenetre, text='Hello world !', fg='pink', bg='black', font='times 20 bold')
>>> texte.pack() # Ajuste la fenètre et fait apparaitre # On créé l'affichage d'un bouton
>>> bouton = Button(fenetre, text='QUITTER', command=fenetre.destroy)
>>> bouton.pack() # Ajuste la fenètre et fait apparaitre
>>> fenetre.mainloop() # Rend la fenètre "attentive" aux actions de l'utilisateur
********************* ---> Ecrire le programme dessineLigne.py <--- **********************
from tkinter import *
from random import randrange def dessineLigne() :
"Tracé d'une ligne dans le canevas"
global x1, x2, y1, y2, couleur
caneva.create_line(x1, y1, x2, y2, width=2, fill=couleur) y1 = y1-10
y2 = y2+10 def changeCouleur() :
"Changement aléatoire de la couleur du tracé"
global couleur
palette = ['purple','cyan','maroon','green','red','blue',\
'orange','yellow','pink','black','white']
n = randrange(11) # génère un nombre aléatoire entre 0 et 11 couleur = palette[n]
# --- Programme principal ---
# Définition des variables globales x1, y1, x2, y2 = 10, 190, 190, 10 couleur = 'dark green'
# Création du widget principal ("maitre") fenetre = Tk()
# Création des widgets qui seront insérés dedans ("esclaves") caneva = Canvas(fenetre, bg='dark grey', height=200, width=200) caneva.pack()
boutonQuitter = Button(fenetre, text='Quitter', command=fenetre.quit) boutonQuitter.pack(side=BOTTOM)
boutonTrace = Button(fenetre, text='Tracer une ligne', command=dessineLigne) boutonTrace.pack()
boutonCouleur = Button(fenetre, text='Changer la couleur', command=changeCouleur) boutonCouleur.pack()
fenetre.mainloop() # démarrage du réceptionnaire d'évènements fenetre.destroy() # permet de détruire la fenètre...
*****************************************************************************************
3°) Questions :
1. Comment faut-il modifier le programme pour ne plus avoir que des lignes de couleur cyan, maroon et green ? 2. Comment modifier le programme pour que toutes les lignes tracées soient horizontales et parallèles ?
3. Agrandissez le canevas de manière à lui donner une largeur de 500 unités et une hauteur de 650.
4. Modifiez également la taille des lignes, afin que leurs extrémités se confondent avec les bords du canevas.
5. Ajoutez une fonction « croixCentre » qui tracera deux lignes rouges en croix au centre du canevas : l'une horizontale et l'autre verticale.
6. Ajoutez également un bouton portant l'indication « viseur ».
7. Un clic sur ce bouton devra provoquer l'affichage de la croix.
8. Reprenez le programme initial. Remplacez la méthode « create_line » par « create_rectangle ».
Que se passe-t-il ?
Page 1 sur 1