Exercice du chapitre VIII] : interfaces graphiques.
Les exercices de cette page sont très largement inspirés de l'ouvrage de G. Swinnen, Apprendre à programmer avec Python 3.
Exercice 1 :
En s'inspirant des programmes du cours, écrire un programme permettant de :
- créer la fenêtre suivante,
- tel qu'un clic sur le bouton détruise la fenêtre.
Exercice 2 :
Écrire un programme permettant de simuler un dé à 6 faces dont l'interface graphique prendra l'allure suivante :
Aide :
Exercice 3 :
Faites un beau dessin de votre choix !
Exercice 4 : d'après G. Swinnen.
Dessiner une cible :
Pensez à utiliser une boucle !!!
Exercice 5 : d'après G. Swinnen.
Dessiner un smiley (un peu plus simple que celui-ci) :
Aide :
On gagnera beaucoup de temps, et on s'épargnera bon nombre de nœuds cérébraux, en pensant à définir une fonction « tracé d'un cercle de centre (x,y) et de rayon r » commençant par :
def cercle(x, y, r, coul ='black') :
Exercice 6 : dessin au clic.
Après avoir étudié le programme "détecteur de clic" du cours, écrire un programme du même type, de façon à obtenir l'affichage d'un cercle de rayon dix pixels autour de chaque clic.
Exercice 7 : compteur de clics.
Ecrire un programme qui :
- créera une fenêtre et un canevas (inutile de spécifier les dimensions, tkinter attribuera des valeurs par défaut),
- créera un variable "compteur" : elle vaut 0 au départ, et servira ensuite à compter les clics gauches de l'utilisateur sur le canevas,
- affichera dans le canevas le nombre de clic gauches que l'utilisateur aura fait dans le canevas :
Aide : 2 nouvelles méthodes :
- Afficher du texte dans un canevas :
au point de coordonnées (50;50), en police arial 40, par exemple :
can.create_text(50,50, text = " A vous de voir ! ", font="Arial 40")
- Modifier un item du canevas :
nous avons vu dans le cours la méthode "configure" pour modifier un widget.
Pour les items du canevas, tkinter propose une méthode du même type.
Par exemple pour modifier l'argument "text" d'un item :
Nom_du_Canevas.itemconfigure(Nom_de_l_Item, text = " A vous de voir !")
Pour des précisions supplémentaires : consulter la doc ISN sur tKinter (cliquer sur itemconfigure).
Exercice 8 : carré mobile.

Après avoir étudié en détail le programme du cours partie "4) Déplacer un objet dans le canevas", coder un programme du même type de façon à obtenir :
- un canevas de dimension 50x600,
- avec au départ : un carré bleu, de dimension 50x50, situé tout en haut du canevas,
- le carré devra descendre de 50 pixels, à chaque pression du joueur sur la touche flèche vers le bas.
Exercice 9 : carré encore plus mobile.
Copiez-collez le programme de l'exercice 8, et ajoutez-lui un binding, et une fonction gestionnaire "remonte", pour qu'on puisse maintenant aussi faire remonter le carré en appuyant sur la flèche haute.
Exercice 10 : carré automatiquement mobile.
Après avoir étudié en détail le programme du cours partie "5)Animation automatique : les fonctions récursives", coder un programme du même type de façon à obtenir :
- un canevas de dimension 50x600,
- avec au départ : un carré bleu, de dimension 50x50, situé tout en haut du canevas,
- le carré devra descendre automatiquement de 50 pixels toutes les 500 ms.
Exercice 11 : du segment au tore
Améliorer le programme précédent pour que, lorsque le carré disparaît en bas de l'écran, il ré-apparaisse en haut.