Créez des interfaces graphiques avec Tkinter
Bonjour a tous ! Alors Nous allons maintenant voir comment créer des interfaces graphiques à l’aide d’un module présent par défaut dans Python : Tkinter.
Ce module permet de créer des interfaces graphiques en offrant une passerelle entre Python et la bibliothèque Tk.
Vous allez pouvoir apprendre dans ce chapitre à créer des fenêtres, créer des boutons, faire réagir vos objets graphiques à certains évènements…
Présentation de Tkinter
Tkinter (Tk interface) est un module intégré à la bibliothèque standard de Python, bien qu’il ne soit pas maintenu directement par les développeurs de Python. Il offre un moyen de créer des interfaces graphiques via Python.
Tkinter est disponible sur Windows et la plupart des systèmes Unix. Les interfaces que vous pourrez développer auront donc toutes les chances d’être portables d’un système à l’autre. Notez qu’il existe d’autres bibliothèques pour créer des interfaces graphiques. Tkinter a
l’avantage d’être disponible par défaut, sans nécessiter une installation supplémentaire.
Pour savoir si vous pouvez utiliser le module Tkinter via la version de Python installée sur votre système, tapez dans l’interpréteur en ligne de commande Python :
from tkinter import *
Votre première interface graphique
Nous allons commencer par voir le code minimal pour créer une fenêtre avec Tkinter. Petit à petit, nous allons apprendre à rajouter des choses, mais commençons par voir la base de code que l’on retrouve d’une interface Tkinter à l’autre.
Étant en Python, ce code minimal est plutôt court :
###Notre premier exemple avec Tkinter.
###On crée une fenêtre simple qui souhaite la bienvenue à l’utilisateur.
# On importe Tkinterfrom tkinter import *
# On crée une fenêtre, La racine de notre interface
fenetre = Tk()
# On crée un label (ligne de texte) souhaitant la bienvenue
# Note : le premier paramètre passé au constructeur de Label est notre
# interface racinechamp_label = Label(fenetre, text="Salut les Zéros !")
# On affiche le label dans la fenêtre
champ_label.pack()# On démarre la boucle Tkinter qui s’interompt quand on ferme la
fenêtrefenetre.mainloop()
Vous pouvez voir le résultat à la figure suivante.
Vous pouvez recopier ce code dans un fichier.py(n’oubliez pas de rajouter la ligne spécifiant
l’encodage). Vous pouvez ensuite exécuter votre programme, ce qui affiche une fenêtre
(simple, certes, mais une fenêtre tout de même).
Comme vous pouvez le voir, la fenêtre est tout juste assez grande pour que le message
s’affiche.
Regardons le code d’un peu plus près.
- On commence par importer Tkinter, sans grande surprise.
- On crée ensuite un objet de la classeTk. La plupart du temps, cet objet sera la fenêtre principale de notre interface.
- On crée un Label, c’est-à-dire un objet graphique affichant du texte.
- On appelle la méthode pack de notre Label. Cette méthode permet de positionner l’objet dans notre fenêtre (et, par conséquent, de l’afficher).
- Enfin, on appelle la méthode mainloop de notre fenêtre racine. Cette méthode ne
retourne que lorsqu’on ferme la fenêtre.
Quelques petites précisions :
- Nos objets graphiques (boutons, champs de texte, cases à cocher, barres de progression…) sont appelés des widgets.
- On peut préciser plusieurs options lors de la construction de nos widgets. Ici, on définit l’option text de notre Label "Salut les Zér0s !".
Il existe d’autres options communes à la plupart des widgets (la couleur de fondbg, la couleur
du widgetfg, etc.) et d’autres plus spécifiques à un certain type de widget. Le Label par
exemple possède l’optiontextreprésentant le texte affiché par le Label.
En résumé
- Tkinter est un module intégré à la bibliothèque standard et permettant de créer des interfaces graphiques.
- Les objets graphiques (boutons, zones de texte, cases à cocher…) sont appelés des widgets.
- Dans Tkinter, les widgets prennent, lors de leur construction, leur objet parent en
premier paramètre. - Chaque widget possède des options qu’il peut préciser comme arguments nommés lors
de sa construction. - On peut également accéder aux options d’un widget ainsi :widget["nom_option"].
Donc j’espère que vous avez aimer…..Je vous dis merci et a la prochaine !! 😇⏳✌
@Elvismahundu
Instagram : Elvis_Mahundu
Facebook : Elvìs mahundu
https://m.youtube.com/channel/UCSqU9bmE4LbTFZdCFEr8G1Q