Interface graphique avec Tkinter | Python 3
Python fournit diverses options pour développer des interfaces graphiques (GUI). Les plus importants sont énumérés ci-dessous.
- Tkinter : Tkinter est une interface Python de la boîte à outils Tk GUI livrée avec Python. Nous allons voir en détail cette option dans ce tutoriel.
- wxPython : Ceci est une interface Python open source pour wxWindows.
- JPython : JPython est une interface Python pour Java qui donne aux scripts Python un accès transparent aux bibliothèques de classes Java sur la machine locale.
Il existe de nombreuses autres interfaces disponibles, que vous pouvez trouver sur le net.
Tkinter
Tkinter est la bibliothèque GUI standard pour Python. Python lorsqu’il est utilisé avec Tkinter fournit un moyen rapide et facile de créer des applications GUI. Tkinter fournit une puissante interface, orientée objet à la boîte à outils Tk GUI.
La création d’une application GUI à l’aide de Tkinter est une tâche facile. Tout ce que vous devez faire est d’effectuer les étapes suivantes :
- Importez le module Tkinter.
- Créez la fenêtre principale de l’application GUI.
- Ajoutez un ou plusieurs des widgets mentionnés ci-dessous à l’application GUI.
- Faite une boucle d’événement pour prendre des mesures contre chaque événement déclenché par l’utilisateur.
Exemple:
import tkinter gui = tkinter.Tk() # ajouter des widgets ici... gui.mainloop()
Sortie:

Widgets Tkinter
Tkinter fournit divers contrôles, tels que des boutons, des étiquettes et des zones de texte utilisés dans une application graphique. Ces contrôles sont communément appelés widgets.
Il existe actuellement 15 types de widgets dans Tkinter. Nous présentons ces widgets ainsi qu’une brève description dans le tableau suivant:
Button | Le widget Button est utilisé pour afficher les boutons dans votre application. |
Canvas | Le widget Canvas est utilisé pour dessiner des formes, telles que des lignes, des ovales, des polygones et des rectangles, dans votre application. |
Checkbutton | Le widget Checkbutton est utilisé pour afficher un certain nombre d’options sous forme de cases à cocher. L’utilisateur peut sélectionner plusieurs options à la fois. |
Radiobutton | Le widget Radiobutton est utilisé pour afficher un certain nombre d’options sous forme de boutons radio. L’utilisateur ne peut sélectionner qu’une seule option à la fois. |
Entry | Le widget Entry est utilisé pour afficher un champ de texte sur une seule ligne pour accepter les valeurs d’un utilisateur. |
Frame | Le widget Frame est utilisé comme conteneur pour organiser d’autres widgets. |
Label | Le widget Label est utilisé pour fournir une étiquette sur une seule ligne pour d’autres widgets. Il peut également contenir des images. |
Listbox | Le widget Listbox est utilisé pour fournir une liste d’options à un utilisateur. |
Menubutton | Le widget Menubutton est utilisé pour afficher les menus de votre application. |
Menu | Le widget Menu est utilisé pour fournir diverses commandes à un utilisateur. Ces commandes sont contenues dans Menubutton. |
Message | Le widget Message est utilisé pour afficher les champs de texte multilignes pour accepter les valeurs d’un utilisateur. |
Scale | Le widget Scale est utilisé pour fournir un curseur. |
Scrollbar | Le widget Scrollbar est utilisé pour ajouter une fonction de défilement à divers widgets, tels que Listbox . |
Text | Le widget Text est utilisé pour afficher le texte sur plusieurs lignes. |
Toplevel | Le widget Toplevel est utilisé pour fournir un conteneur de fenêtre séparé. |
Spinbox | Le widget Spinbox est une variante du widget Tkinter Entry standard, qui peut être utilisé pour sélectionner un nombre fixe de valeurs. |
PanedWindow | Un PanedWindow est un widget conteneur qui peut contenir n’importe quel nombre de volets, disposés horizontalement ou verticalement. |
labelframe | Un labelframe est un widget conteneur simple. Son objectif principal est d’agir comme un séparateur ou un conteneur pour les dispositions de fenêtres complexes. |
tkMessageBox | Ce module permet d’afficher des boîtes de message dans vos applications. |
Gestionnaires de positionnement
Tous les widgets Tkinter ont accès à des méthodes de gestion de géométrie spécifiques, qui ont pour but d’organiser les widgets dans la zone de widget parent. Tkinter expose les classes de gestionnaire de positionnement suivantes: pack, grid et place.
- La méthode pack() : Ce gestionnaire de positionnement organise les widgets en blocs avant de les placer dans le widget parent.
- La méthode grid() : Ce gestionnaire de positionnement organise les widgets dans une structure semblable à une table dans le widget parent.
- La méthode place() : Ce gestionnaire de positionnement organise les widgets en les plaçant dans une position spécifique dans le widget parent.