Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:programmation:python:tkinter [2020/10/25 14:27] admintutoriel:programmation:python:tkinter [2022/08/13 21:58] (Version actuelle) – modification externe 127.0.0.1
Ligne 3: Ligne 3:
 ====== Créer un GUI avec Tkinter ====== ====== Créer un GUI avec Tkinter ======
  
-====== Introduction ======+===== Introduction =====
  
-===== Les 4 tâches de base en programmation d'interfaces GUI =====+==== Les 4 tâches de base en programmation d'interfaces GUI ====
  
 Pour développer une interface utilisateur (GUI), il faut écrire : Pour développer une interface utilisateur (GUI), il faut écrire :
Ligne 13: Ligne 13:
   - le code qui attend les entrées de l'utilisateur.    - le code qui attend les entrées de l'utilisateur. 
  
-===== Glossaire de la programmation d'un Gui =====+==== Glossaire de la programmation d'un Gui ====
  
 La programmation avec un GUI (interface utilisateur graphique) a un jargon spécifique La programmation avec un GUI (interface utilisateur graphique) a un jargon spécifique
  
-  widgets+  widgets
   : élément de l'interface graphique : fenêtres, boutons, menus, éléments de menus, icônes, listes déroulantes, barres de défilement etc.\\ Définis dans l'espace (c'est-à-dire, si un widget est au-dessus ou en dessous d'un autre, ou à droite ou à gauche d'autres widgets)   : élément de l'interface graphique : fenêtres, boutons, menus, éléments de menus, icônes, listes déroulantes, barres de défilement etc.\\ Définis dans l'espace (c'est-à-dire, si un widget est au-dessus ou en dessous d'un autre, ou à droite ou à gauche d'autres widgets)
-  callback handlers+  callback handlers
   :   :
-  event handlers+  event handlers
   : les routines qui font le travail du GUI. Ces routines sont appelées des //handlers// parce qu'elles répondent à ces événements.   : les routines qui font le travail du GUI. Ces routines sont appelées des //handlers// parce qu'elles répondent à ces événements.
-  Events+  Events
   : événements comme un clic de souris ou l'appui sur un touche du clavier.   : événements comme un clic de souris ou l'appui sur un touche du clavier.
-  binding+  binding
   : le fait d'associer un //event handler// avec un //widget//. En gros, le //binding// implique :   : le fait d'associer un //event handler// avec un //widget//. En gros, le //binding// implique :
   - un type d’événement (par exemple un clic gauche sur la souris ou appuyer sur la touche <key>ENTER</key> du clavier),   - un type d’événement (par exemple un clic gauche sur la souris ou appuyer sur la touche <key>ENTER</key> du clavier),
Ligne 31: Ligne 31:
   - et une routine de gestion d’événement.   - et une routine de gestion d’événement.
  
-  ?+  ;
   : Par exemple, on peut associer   : Par exemple, on peut associer
   - un (seul) clic gauche de la souris   - un (seul) clic gauche de la souris
Ligne 37: Ligne 37:
   - à la routine //closeProgram//, qui ferme la fenêtre et arrête le programme.   - à la routine //closeProgram//, qui ferme la fenêtre et arrête le programme.
  
-  event loop+  event loop
   : le code qui tourne et attend une saisie   : le code qui tourne et attend une saisie
  
Ligne 48: Ligne 48:
 </WRAP> </WRAP>
  
-====== Pré-requis ======+===== Pré-requis =====
  
-====== Première étape ======+===== Première étape =====
  
-===== Premier exemple : tt000.py =====+==== Premier exemple : tt000.py ====
  
 Ce premier programme très simple montre l'implémentation de trois concepts de base dans un programme. Ce premier programme très simple montre l'implémentation de trois concepts de base dans un programme.
Ligne 112: Ligne 112:
 </code> </code>
  
-===== Deuxième exemple (tt010.py) : le plus court programme Tkinter (3 Instructions !) =====+==== Deuxième exemple (tt010.py) : le plus court programme Tkinter (3 Instructions !) ====
  
 Ce programme n'exécute qu'une des quatre tâches de base d'un GUI présentées plus haut, l'event loop. Ce programme n'exécute qu'une des quatre tâches de base d'un GUI présentées plus haut, l'event loop.
Ligne 132: Ligne 132:
 </code> </code>
  
-===== Troisième exemple (tt020.py) : indiquer à quoi le GUI doit ressembler =====+==== Troisième exemple (tt020.py) : indiquer à quoi le GUI doit ressembler ====
  
 Avec ce programme, nous allons introduire trois concepts importants de la programmation Tkinter : Avec ce programme, nous allons introduire trois concepts importants de la programmation Tkinter :
Ligne 140: Ligne 140:
  
 Glossaire : Glossaire :
-  widget+  widget
   : un composant du GUI qui est (en général) visible   : un composant du GUI qui est (en général) visible
-  container component+  container component
   : conteneur contenant des widgets   : conteneur contenant des widgets
  
Ligne 163: Ligne 163:
 **Pack** appelle le **geometry manager** **pack** de Tkinter. **Pack** appelle le **geometry manager** **pack** de Tkinter.
  
-  geometry manager+  geometry manager
   : une API -- une façon de communiquer avec Tkinter -- pour indiquer à Tkinter comment les containers et widgets doivent être visuellement présentés.   : une API -- une façon de communiquer avec Tkinter -- pour indiquer à Tkinter comment les containers et widgets doivent être visuellement présentés.
   : Tkinter supporte trois geometry managers : pack, grid, et place.   : Tkinter supporte trois geometry managers : pack, grid, et place.
Ligne 175: Ligne 175:
 L'exécution ce programme ressemble beaucoup au précédent, à la différence qu'il affiche moins de choses. C'est parce que les Frames (cadres) Sont élastiques. L'exécution ce programme ressemble beaucoup au précédent, à la différence qu'il affiche moins de choses. C'est parce que les Frames (cadres) Sont élastiques.
  
-  frame+  frame
   : = un cadre. C'est un container.   : = un cadre. C'est un container.
-  cavity+  cavity
   : espace intérieur du container   : espace intérieur du container
-  stretchy+  stretchy
   : élastique : La //cavity// (creux) est élastique. A moins d'indiquer un taille minimum ou maximum pour le frame (cadre), la //cavity// s'étire ou se réduit pour s'adapter au frame (cadre).   : élastique : La //cavity// (creux) est élastique. A moins d'indiquer un taille minimum ou maximum pour le frame (cadre), la //cavity// s'étire ou se réduit pour s'adapter au frame (cadre).
  
Ligne 199: Ligne 199:
 </code> </code>
  
-====== Internationalisation : traduire un programme Python ======+===== Internationalisation : traduire un programme Python =====
  
-Voir [[tutoriel:programmation:python:traduire|]]+Voir [[tutoriel:programmation:python:traduire]]
  
-====== Autres étapes ======+===== Autres étapes =====
  
-====== Conclusion ======+===== Conclusion =====
  
-====== Problèmes connus ======+===== Problèmes connus =====
  
-====== Voir aussi ======+===== Voir aussi =====
  
   * **(fr)** [[http://]]   * **(fr)** [[http://]]