This is an archive copy of wikilivres.ca as of 18 February 2017 (from the WikiTeam dump). The original site is closed.

Page:Swinnen - Apprendre Python, 2010.djvu/112

Free texts and images.
Jump to navigation Jump to search
This page has been proofread


90
Chapitre 8 — Utilisation de fenêtres et de graphismes


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

8.1 Comment faut-il modifier le programme pour ne plus avoir que des lignes de couleur cyan, maroon et green  ?

8.2 Comment modifier le programme pour que toutes les lignes tracées soient horizontales et parallèles ?

8.3 Agrandissez le canevas de manière à lui donner une largeur de 500 unités et une hauteur de 650. Modifiez également la taille des lignes, afin que leurs extrémités se confondent avec les bords du canevas.

8.4 Ajoutez une fonction drawline2 qui tracera deux lignes rouges en croix au centre du canevas : l’une horizontale et l’autre verticale. Ajoutez également un bouton portant l’indication « viseur ». Un clic sur ce bouton devra provoquer l’affichage de la croix.

8.5 Reprenez le programme initial. Remplacez la méthode create_line par create_rectangle. Que se passe-t-il ? De la même façon, essayez aussi create_arc, create_oval, et create_polygon. Pour chacune de ces méthodes, notez ce qu’indiquent les coordonnées fournies en paramètres. (Remarque : pour le polygone, il est nécessaire de modifier légèrement le programme ! )

8.6 — Supprimez la ligne global x1, y1, x2, y2 dans la fonction drawline du programme original. Que se passe-t-il ? Pourquoi ? — Si vous placez plutôt « x1, y1, x2, y2 » entre les parenthèses, dans la ligne de définition de la fonction drawline, de manière à transmettre ces variables à la fonction en tant que paramètres, le programme fonctionne-t-il encore ? N’oubliez pas de modifier aussi la ligne du programme qui fait appel à cette fonction ! — Si vous définissez x1, y1, x2, y2 = 10, 390, 390, 10 à la place de global x1, y1,…, que se passe-t-il ? Pourquoi ? Quelle conclusion pouvez-vous tirer de tout cela ?

8.7 a) Créez un court programme qui dessinera les 5 anneaux olympiques dans un rectangle de fond blanc (white). Un bouton « Quitter » doit permettre de fermer la fenêtre. b) Modifiez le programme ci-dessus en y ajoutant 5 boutons. Chacun de ces boutons provoquera le tracé de chacun des 5 anneaux

8.8 Dans votre cahier de notes, établissez un tableau à deux colonnes. Vous y noterez à gauche les définitions des classes d’objets déjà rencontrées (avec leur liste de paramètres), et à droite les méthodes associées à ces classes (également avec leurs paramètres). Laissez de la place pour compléter ultérieurement.