Module 8
Mondher Bouden
Maître assistant
2020-2021
Programmation événementielle
Objectifs et caractéristiques
• Apprendre à utiliser et prototyper rapidement une
application graphique en Python.
• Pour cela, nous allons voir les bases de la
programmation événementielle.
• En programmation événementielle, on répond à des
événements :
– Clics et déplacements de souris.
– Touches de clavier.
– Redimensionnement de fenêtre.
– Etc.
• Le déroulement du programme est entièrement
déterminé par la séquence des événements.
Séquentielle vs Événementielle
Contrôles - widgets
• Un widget (window gadget) est un élément d'interface
permettant une interaction avec l'utilisateur.
Les événements
• L'utilisateur interagit avec un widget :
– par exemple, il clique sur un bouton.
– le bouton appelle une fonction spécifiée par le programmeur.
– cette fonction s'appelle un callback.
• Leur traitement se fait généralement de manière
automatique :
– le système accumule les événements dans une file d'attente.
– les événements sont transmis aux widgets.
– chaque widget appelle la fonction callback définie par le
programmeur.
Les interfaces
• Une interface est définie par une hiérarchie de
widgets à l'intérieur d'une fenêtre.
• Des mécanismes permettent de positionner les
widgets les uns par rapport aux autres.
– les widgets ont habituellement une dimension « naturelle »
– ces mécanismes permettent de spécifier l'agencement des
widgets dans la fenêtre et comment cet agencement doit
changer lorsqu'on change la dimension de la fenêtre.
Les interfaces
• Le TopLevel correspond à une
fenêtre de l'écran.
• Un frame est une région
rectangulaire qui contient
plusieurs autres composants.
• Les feuilles de la hiérarchie sont
des contrôles.
Les interfaces graphiques en Python : tkinter
• Ce module est une interface Python sur la librairie Tcl/Tk.
– tkinter signifie « Tk interface ».
– Tk veut dire « Toolkit » (boite à outils).
– Tcl signifie « Tool command language ».
• Il permet de faire des interfaces graphiques en Python.
– Le programme fonctionne sur toutes les plateformes.
– Tkinter est un module de base intégré dans Python. Vous n'avez
donc normalement pas besoin de l’installer.
• Liens utiles:
– [Link]/page-tkinter-interface-graphique-python-tutoriel
– [Link]/fr/3/library/[Link]
– [Link]/app/teachpyx/helpsphinx/c_gui/[Link]
Création d’une fenêtre graphique
Hello World !
fg='yellow’,
bg='blue'
Création d’un bouton