INTERFACE GRAPHIQUE AVEC PYTHON (GUI) 1/2

Publié le Mis à jour le

illu_apprenez-a-programmer-en-python

Python est un langage de programmation qui permet de concevoir des Logiciels  interface graphique. Néanmoins avant d’entre dans le monde meilleur des GUI(Graphical User Interface) ,  nous devons connaitre  certaines notions très communes dans la programmation : 

 

 

Programmation Événementielle : Selon Wikipédia, la programmation événementielle est un paradigme de programmation fondé sur les événements. Elle s’oppose à la programmation séquentielle. Le programme sera principalement défini par ses réactions aux différents événements qui peuvent se produire, c’est-à-dire des changements d’état de variable, par exemple l’incrémentation d’une liste, un mouvement de souris ou de clavier.

Les Bibliothèques : Selon Wikipédia, une bibliothèque logicielle est une collection de routines, qui peuvent être déjà compilées et prêtes à être utilisées par des programmes. Les bibliothèques sont enregistrées dans des fichiers semblables, voire identiques aux fichiers de programmes , sous la forme d’une collection de fichiers de code objet rassemblés accompagnée d’un index permettant de retrouver facilement chaque routine

Porgrammation Orienté Objet : La programmation orientée objet (POO) permet de La programmation orientée objet impose des structures solides et claires. Les objets peuvent interagir entre eux, cela facilite grandement la compréhension du code et sa maintenance. On oppose souvent la programmation objet à la programmation procédurale, la première étant plus « professionnelle » que l’autre car plus fiable et plus propre

Avec Python, l’une des bibliothèques graphique la plus utilisée jusqu’à présent est la bibliothèque Tkinter, qui est une adaptation de la bibliothèque Tk développée à l’origine pour le langage Tcl . Plusieurs autres bibliothèques graphiques fort intéressantes ont été proposées pour Python : wxPython, pyQT, pyGTK(la GUI de l’environnement Gnome ) .

Nous commencerons des programmes simples avec Tkinter puis nous passerons en Orienté Objet avec PyGTK.  Le module Tkinter  est généralement intégré à votre Python au cours de son installation. Maintenant, débutons le code !!!

Créeons un fichier ayiyikoh.py et qui contiendra notre première application graphique

from Tkinter import * #import de la bibliothèque graphique

fen = Tk() #creation d’un objet Tk nommé fen

text = Label(fen, text = « Bienvenue au FabLab AYIYIKOH ») #creation d’un Label enfant de fen

text.pack() #affichage du texte

boul = Button(fen, text=’Quitter’, command=fen.destroy) #creation d’un Button enfant de fen

boul.pack() #affichage du button

fen.mainloop() #gestionnaire d’evenement, attendant une action

En exécutant ce code, on obtient le résultat suivant :

eazdad.png

Et voilà, une fenêtre s’affiche avec le mot de Bienvenue.

Il existe 15 classes de base pour les widgets Tkinter. Il faut noter aussi que chaque classe à ses méthodes spécifiques que nous ne détaillerons pas dans le tableau suivant

Widget Description
Button Un bouton classique, à utiliser pour provoquer l’exécution d’une commande quelconque.
Canvas Un espace pour disposer divers éléments graphiques. Ce widget peut être utilisé pour dessiner, créer des éditeurs graphiques, et aussi pour implémenter des widgets personnalisés
Checkbutton Une « case à cocher » qui peut prendre deux états distincts (la case est cochée ou non). Un clic sur ce widget provoque le changement
Entry Un champ d’entrée, dans lequel l’utilisateur du programme pourra insérer un texte quelconque à partir du clavier.
Frame Une surface rectangulaire dans la fenêtre, où l’on peut disposer d’autres widgets. Cette surface peut être colorée. Elle peut aussi être
Label Un texte (ou libellé) quelconque (éventuellement une image).
Listbox Une liste de choix proposés à l’utilisateur, généralement présentés dans une sorte de boîte. On peut également configurer la Listbox de telle manière qu’elle se comporte comme une série de « boutons radio » ou de cases à cocher.
Menu Un menu. Ce peut être un menu déroulant attaché à la barre de titre, ou bien un menu « pop up » apparaissant n’importe où à la suite d’un clic.
Menubutton Un bouton-menu, à utiliser pour implémenter des menus déroulants.
Message Permet d’afficher un texte. Ce widget est une variante du widget Label, qui permet d’adapter automatiquement le texte affiché à une certaine taille ou à un certain rapport largeur/hauteur.
Radiobutton Représente (par un point noir dans un petit cercle) une des valeurs d’une variable qui peut en posséder plusieurs. Cliquer sur un « bouton radio » donne la valeur correspondante à la variable, et « vide » tous les autres boutons radio associés à la même variable
Scale Vous permet de faire varier de manière très visuelle la valeur d’une variable, endéplaçant un curseur le long d’une règle.
Scrollbar « ascenseur » ou « barre de défilement » que vous pouvez utiliser en associationavec les autres widgets : Canvas, Entry, Listbox, Text.
Text Affichage de texte formatté. Permet aussi à l’utilisateur d’éditer le texte affiché. Des images peuvent également être insérées.
Toplevel

Une fenêtre affichée séparément, « par-dessus ».

Dans le prochain article, nous allons voir comment créer les principaux widgets énoncés, ainsi leurs différentes propriétés . La suite sur le lien suivant :

 

Laisser un commentaire