Introduction à Tkinter⚓︎
Tkinter
est un module de Python permettant la création d'interfaces graphiques.
0. Site de présentation de Tkinter⚓︎
Vous pouvez suivre pas à pas l'excellent travail de Fabrice Sincère, disponible à cette page :
http://f.sincere.free.fr/isn/python/cours_python_tkinter.php
Vous pouvez aussi poser des questions à https://www.perplexity.ai/ ou une autre IA.
1. Objectif final⚓︎
2. Étape 1⚓︎
Instructions :
Tracer
doit tracer un cercle bleu (avec une bordure noire) de taille fixe (30 px).- Les boutons
Tracer
etEffacer
sont dans une frame particulière. - La zone de dessin mesure 480x320.
Aide :
Correction
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 |
|
3. Étape 2⚓︎
Instructions :
Couleur
doit ouvrir une boite de dialogue pour changer la couleur de remplissage.
1. Variable couleur
⚓︎
Pour commencer, il faut créer une variable dynamique couleur
qui sera plus tard modifiée par la boite de dialogue :
couleur = StringVar() # on crée la variable
couleur.set('blue') # on l'initialise à 'blue'
Pour accéder au contenu de la variable couleur
, on utilise l'instruction couleur.get()
.
Modifier la fonction cercle
pour que la couleur de remplissage soit couleur
.
2. Bouton Couleur
⚓︎
Créer et placer un bouton Couleur
qui déclenchera une fonction change_color
que nous écrirons plus tard.
3. Fonction change_color
et boite de dialogue⚓︎
Pour intégrer la boite de dialogue de choix de couleur, il faut commencer par appeler deux fonctions / modules supplémentaires :
from tkinter import ttk
from tkinter.colorchooser import askcolor
La fonction change_color
s'écrira comme ceci :
def change_color():
colors = askcolor(title="Tkinter Color Chooser")
couleur.set(...)
Pour savoir ce qu'il faut écrire à la place des pointillés, faites des tests (avec un print
, par exemple) pour savoir à quoi ressemble la variable colors
qui est renvoyée par la fonction askcolor
.
Souvenez-vous ensuite que Tkinter
travaille avec les couleurs en écriture hexadécimale et non pas RGB...
Correction
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 |
|
4. Étape 3⚓︎
Instructions :
- Un curseur doit permettre de modifier le rayon du cercle.
Il faut procéder de la même manière que pour la couleur.
Pensez à utiliser IntVar
plutôt que StringVar
, car le rayon est un nombre entier.
Des indications pour l'intégration du curseur sont à retrouver dans l'exemple 5 du site http://f.sincere.free.fr/isn/python/cours_python_tkinter.php
5. Bonus⚓︎
Remplacer le placement aléatoire par un placement au clic de souris.