Python - Programmation GUI (Tkinter)
Python fournit diverses options pour développer des interfaces utilisateur graphiques (GUI). Les plus importants sont énumérés ci-dessous.
Tkinter- Tkinter est l'interface Python de la boîte à outils Tk GUI livrée avec Python. Nous examinerions cette option dans ce chapitre.
wxPython - Ceci est une interface Python open-source pour wxWindows http://wxpython.org.
JPython - JPython est un port Python pour Java qui donne aux scripts Python un accès transparent aux bibliothèques de classes Java sur la machine locale http://www.jython.org.
Il existe de nombreuses autres interfaces disponibles, que vous pouvez trouver sur le net.
Programmation Tkinter
Tkinter est la bibliothèque GUI standard pour Python. Python lorsqu'il est combiné 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 avez à 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-dessus à l'application GUI.
Entrez dans la boucle d'événements principale pour agir contre chaque événement déclenché par l'utilisateur.
Exemple
#!/usr/bin/python
import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
Cela créerait une fenêtre suivante -
Widgets Tkinter
Tkinter fournit divers contrôles, tels que des boutons, des étiquettes et des zones de texte utilisées dans une application GUI. 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 -
N ° Sr. | Opérateur et description |
---|---|
1 | Bouton Le widget Bouton est utilisé pour afficher les boutons dans votre application. |
2 | Toile Le widget Canvas est utilisé pour dessiner des formes, telles que des lignes, des ovales, des polygones et des rectangles, dans votre application. |
3 | Bouton à cocher 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. |
4 | Entrée Le widget Entrée est utilisé pour afficher un champ de texte sur une seule ligne pour accepter les valeurs d'un utilisateur. |
5 | Cadre Le widget Frame est utilisé comme widget conteneur pour organiser d'autres widgets. |
6 | Étiquette Le widget Étiquette est utilisé pour fournir une légende sur une seule ligne pour d'autres widgets. Il peut également contenir des images. |
sept | Listbox Le widget Listbox est utilisé pour fournir une liste d'options à un utilisateur. |
8 | Bouton de menu Le widget Menubutton est utilisé pour afficher les menus dans votre application. |
9 | Menu Le widget Menu est utilisé pour fournir diverses commandes à un utilisateur. Ces commandes sont contenues dans Menubutton. |
dix | Message Le widget Message est utilisé pour afficher des champs de texte multilignes pour accepter les valeurs d'un utilisateur. |
11 | Bouton radio 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. |
12 | Échelle Le widget Echelle est utilisé pour fournir un widget curseur. |
13 | Barre de défilement Le widget Barre de défilement est utilisé pour ajouter une capacité de défilement à divers widgets, tels que les zones de liste. |
14 | Texte Le widget Texte est utilisé pour afficher du texte sur plusieurs lignes. |
15 | Haut niveau Le widget Toplevel est utilisé pour fournir un conteneur de fenêtre séparé. |
16 | Spinbox Le widget Spinbox est une variante du widget Tkinter Entry standard, qui peut être utilisé pour sélectionner parmi un nombre fixe de valeurs. |
17 | PanedWindow Un PanedWindow est un widget conteneur qui peut contenir n'importe quel nombre de volets, disposés horizontalement ou verticalement. |
18 | LabelFrame Un labelframe est un simple widget conteneur. Son objectif principal est d'agir comme un espaceur ou un conteneur pour des dispositions de fenêtres complexes. |
19 | tkMessageBox Ce module permet d'afficher des boîtes de messages dans vos applications. |
Étudions ces widgets en détail -
Attributs standard
Voyons comment certains de leurs attributs communs, tels que les tailles, les couleurs et les polices, sont spécifiés.
Dimensions
Colors
Fonts
Anchors
Styles de relief
Bitmaps
Cursors
Étudions-les brièvement -
Gestion de la géométrie
Tous les widgets Tkinter ont accès à des méthodes de gestion de la 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 géométrie suivantes: pack, grid et place.
La méthode pack () - Ce gestionnaire de géométrie organise les widgets en blocs avant de les placer dans le widget parent.
La méthode grid () - Ce gestionnaire de géométrie organise les widgets dans une structure de type tableau dans le widget parent.
La méthode place () - Ce gestionnaire de géométrie organise les widgets en les plaçant dans une position spécifique dans le widget parent.
Étudions brièvement les méthodes de gestion de la géométrie -