Guide complet de Tkinter – la bibliothèque pour créer des GUI en Python
Tkinter (Tk interface) est la bibliothèque standard pour créer des interfaces graphiques utilisateur (GUI) en Python. Son nom provient de Tk, un toolkit GUI multiplateforme initialement développé pour le langage Tcl. Tkinter est le binding Python de Tk et est inclus dans la distribution standard de Python depuis la version 3.1, ce qui en fait l'outil le plus accessible pour créer des applications fenêtrées.
La bibliothèque prend en charge tous les principaux systèmes d'exploitation : Windows, Linux et macOS, garantissant ainsi la multiplateforme des applications développées. Sa simplicité d'apprentissage et ses dépendances minimales font de Tkinter un excellent choix pour les développeurs débutants, les projets éducatifs et la création de petites applications de bureau.
Histoire et architecture de Tkinter
Tkinter a été créé au début des années 1990 comme une surcouche Python pour le toolkit GUI Tk. Tk, quant à lui, a été développé par John Ousterhout à l'Université de Californie à Berkeley. En plus de 30 ans d'existence, la bibliothèque a connu une évolution significative tout en conservant sa philosophie de simplicité et de fiabilité.
L'architecture de Tkinter repose sur la programmation orientée événements. L'élément principal est la boucle principale de traitement des événements (event loop), qui attend les actions de l'utilisateur et y répond en appelant les fonctions de gestion appropriées.
Installation et premier lancement
Vérifier la présence de Tkinter
Tkinter fait partie de la bibliothèque standard de Python et ne nécessite généralement pas d'installation séparée. Pour vérifier sa disponibilité, exécutez :
python -c "import tkinter; print('Tkinter est disponible')"
Installation sur différents systèmes d'exploitation
Windows : Tkinter s'installe automatiquement avec Python.
macOS : Inclus dans la distribution standard de Python.
Linux (Ubuntu/Debian) :
sudo apt-get install python3-tk
Linux (CentOS/RHEL) :
sudo yum install tkinter
# ou pour les versions plus récentes
sudo dnf install python3-tkinter
Création de votre première application
import tkinter as tk
# Création de la fenêtre principale
window = tk.Tk()
window.title("Ma première application")
window.geometry("400x300")
window.resizable(True, True)
# Lancement de la boucle principale
window.mainloop()
Composants principaux de Tkinter
Fenêtre principale (Root Window)
La fenêtre principale est l'élément racine de toute application Tkinter. Tous les autres widgets doivent être placés à l'intérieur de celle-ci ou dans ses fenêtres filles.
import tkinter as tk
root = tk.Tk()
root.title("Titre de la fenêtre")
root.geometry("800x600+100+50") # largeur x hauteur + décalage_x + décalage_y
root.minsize(300, 200) # taille minimale
root.maxsize(1200, 800) # taille maximale
root.configure(bg='lightblue') # couleur de fond
Widgets principaux et leur utilisation
Étiquette (Label)
Label est utilisé pour afficher du texte ou des images que l'utilisateur ne peut pas modifier.
label = tk.Label(
window,
text="Étiquette d'information",
font=("Arial", 14),
fg="blue",
bg="white",
anchor="center"
)
label.pack(pady=10)
Bouton (Button)
Le bouton est un élément interactif pour exécuter des actions.
def button_click():
print("Bouton cliqué !")
button = tk.Button(
window,
text="Cliquez-moi",
command=button_click,
font=("Arial", 12),
bg="green",
fg="white",
width=15,
height=2
)
button.pack(pady=5)
Champ de saisie (Entry)
Entry est conçu pour
Aussi dans la bibliothèque
Superstruct TypeScript : guide complet avec exemples
Client Elasticsearch pour Rust : bibliothèque officielle elasticsearch-rs
Travailler avec CSV en PHP : lecture, écriture et traitement des données
ModelMapper Java : guide complet avec exemples pratiques
Travailler avec Markdown en Go (Golang) : bibliothèques, analyse et conversion