Différences entre les versions de « Programmation Python/Utilisation de fenêtres et de graphismes »

+ images
(+ image)
(+ images)
Vous venez d'expérimenter votre premier programme utilisant une interface graphique. Ce type de programme est structuré d'une manière différente des scripts « textuels » étudiés auparavant.
 
[[Image:Apprendre à programmer avec Python 16.png|right|100px]]
{{image manquante}}
 
Tous les programmes d'ordinateur comportent grosso-modo trois phases principales : ''une phase d'initialisation'', laquelle contient les instructions qui préparent le travail à effectuer (appel des modules externes nécessaires, ouverture de fichiers, connexion à un serveur de bases de données ou à l'internet, etc.), ''une phase centrale'' où l'on trouve la véritable fonctionnalité du programme (c'est-à-dire tout ce qu'il est censé faire : afficher des données à l'écran, effectuer des calculs, modifier le contenu d'un fichier, imprimer, etc.), et enfin ''une phase de terminaison'' qui sert à clôturer « proprement » les opérations (c'est-à-dire fermer les fichiers restés ouverts, couper les connexions externes, etc.)
Dans le cas d'un programme qui utilise une interface graphique, par contre, l'organisation interne est différente. On dit d'un tel programme qu'il est ''piloté par les événements''. Après sa phase d'initialisation, un programme de ce type se met en quelque sorte « en attente », et passe la main à un autre logiciel, lequel est plus ou moins intimement intégré au système d'exploitation de l'ordinateur et « tourne » en permanence.
 
[[Image:Apprendre à programmer avec Python 17.png|center|500px]]
{{image manquante}}
 
Ce ''réceptionnaire d'événements'' scrute sans cesse tous les périphériques (clavier, souris, horloge, modem, etc.) et réagit immédiatement lorsqu'un événement y est détecté.
=== Exemple graphique : tracé de lignes dans un canevas ===
 
[[Image:Apprendre à programmer avec Python 18.png|right|200px]]
{{image manquante}}
 
Le script décrit ci-dessous crée une fenêtre comportant trois boutons et un ''canevas''. Suivant la terminologie de ''Tkinter'', un canevas est une surface rectangulaire délimitée, dans laquelle on peut installer ensuite divers dessins et images à l'aide de méthodes spécifiques<ref>Ces dessins pourront éventuellement être animés dans une phase ultérieure (voir plus loin)</ref>.
La commande liée au bouton « Quitter » appelle la méthode <code>quit()</code> de la fenêtre <code>fen1</code>. Cette méthode sert à fermer (quitter) le réceptionnaire d'événements (''mainloop'') associé à cette fenêtre. Lorsque cette méthode est activée, l'exécution du programme se poursuit avec les instructions qui suivent l'appel de ''mainloop''. Dans notre exemple, cela consiste donc à effacer (''destroy'') la fenêtre.
 
{{Exercices}}|Exercices : modifications au programme « Tracé de lignes » ci-dessus.}}
<ol>
<li>Comment faut-il modifier le programme pour ne plus avoir que des lignes de couleur <code>cyan</code>, <code>maroon</code> et <code>green</code> ?</li>
Cet autre exemple vous montrera comment vous pouvez exploiter les connaissances que vous avez acquises précédemment concernant les boucles, les listes et les fonctions, afin de réaliser de nombreux dessins avec seulement quelques lignes de code. Il s'agit d'une petite application qui affiche l'un ou l'autre des deux dessins reproduits ci-contre, en fonction du bouton choisi.
 
{|style="margin:auto"
{{image manquante}}
|-
||[[Image:Apprendre à programmer avec Python 19.png|200px]]
||[[Image:Apprendre à programmer avec Python 20.png|200px]]
|}
 
<pre>
<li>Inspirez-vous du script précédent pour écrire une petite application qui fait apparaître un damier (dessin de cases noires sur fond blanc) lorsque l'on clique sur un bouton :
 
[[Image:Apprendre à programmer avec Python 21.png|200px|center]]
{{image manquante}}
</li>
 
=== Exemple graphique : calculatrice minimaliste ===
 
[[Image:Apprendre à programmer avec Python 22.png|right]]
{{image manquante}}
 
Bien que très court, le petit script ci-dessous implémente une calculatrice complète, avec laquelle vous pourrez même effectuer des calculs comportant des parenthèses et des fonctions scientifiques. N'y voyez rien d'extraordinaire. Toute cette fonctionnalité n'est qu'une conséquence du fait que vous utilisez un interpréteur plutôt qu'un compilateur pour exécuter vos programmes.
</pre>
 
[[Image:Apprendre à programmer avec Python 23.png|200px|right]]
{{image manquante}}
 
Le script fait apparaître une fenêtre contenant un <code>cadre</code> (''frame'') rectangulaire de couleur jaune pâle, dans lequel l'utilisateur est invité à effectuer des clics de souris.
8 843

modifications