Python - Programmation d'interface graphique (Tkinter)
Page PrécédentePage Suivante
Python fournit diverses options pour développer des interfaces utilisateur graphiques (GUI). Les plus importants sont listés ci-dessous.
-
Tkinter − Tkinter est l'interface Python de la boîte à outils Tk GUI livrée avec Python. Nous examinerons cette option dans ce chapitre.
-
wxPython − Il s'agit d'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 graphique 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.
Créer une application graphique à l'aide de Tkinter est une tâche facile. Tout ce que vous avez à faire est d'effectuer les étapes suivantes −
-
Importer le Tkinter module.
-
Créez la fenêtre principale de l'application graphique.
-
Ajoutez un ou plusieurs des widgets mentionnés ci-dessus à l'application graphique.
-
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é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 −
Sr.No. | Opérateur et description |
---|---|
1 | Bouton Le widget Button permet d'afficher des 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 de vérification 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 Label est utilisé pour fournir une légende sur une seule ligne pour les autres widgets. Il peut également contenir des images. |
7 | Zone de liste Le widget Listbox est utilisé pour fournir une liste d'options à un utilisateur. |
8 | bouton 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 le bouton Menu. |
10 | 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 Échelle est utilisé pour fournir un widget de 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 | Niveau supérieur 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 Une 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 les dispositions de fenêtres complexes. |
19 | tkMessageBox Ce module permet d'afficher des boîtes de message dans vos applications. |
Étudions ces widgets en détail −
Attributs standards
Voyons comment certains de leurs attributs communs, tels que les tailles, les couleurs et les polices, sont spécifiés.
-
Dimensions
-
Couleurs
-
Polices
-
Ancres
-
Styles de relief
-
Bitmaps
-
Curseurs
É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 toute la zone des widgets parents. Tkinter expose les classes de gestionnaire de géométrie suivantes :pack, grid et place.
-
Le pack() Méthode - Ce gestionnaire de géométrie organise les widgets en blocs avant de les placer dans le widget parent.
-
La grille() Méthode - Ce gestionnaire de géométrie organise les widgets dans une structure semblable à un tableau dans le widget parent.
-
Le lieu() Méthode - 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 −
Python