Exercices widget tkinter en python
Sommaire
- 1- Objectifs
- 2- Exercice 01
- 2.1- Énoncé
- 2.2- Solution
- 3- Exercice 02
- 3.1- Énoncé
- 3.2- Solution
- 4- Exercice 03
- 4.1- Énoncé
- 4.2- Solution
- 5- Exercice 04
- 5.1- Énoncé
- 5.2- Solution
- 6- Exercice 05
- 6.1- Énoncé
- 6.2- Solution
- 7- Exercice 06
- 7.1- Énoncé
- 7.2- Solution
- 8- Exercice 07
- 8.1- Énoncé
- 8.2- Solution
- 9- Exercice 08
- 9.1- Énoncé
- 9.2- Solution
- 10- Exercice 09
- 10.1- Énoncé
- 10.2- Solution
- 10.2.1- Cours Python
Exercices widget tkinter en python
-
Objectifs
- Comprendre et savoir utiliser les widgets tkinter de Python.
- Découvrir la programmation en Python utilisant une interface graphique.
-
Exercice 01
-
Énoncé
- Ecrire un programme bonjour.py Python utilisant la bibliothèque tkinter qui permet :
- De tracer formulaire de taille 400 x 80, de fond ivory, au centre de ce formulaire il y’a:
- Un label avec le texte ‘Bonjour tout le monde !’
- Un bouton avec le texte ‘Quitter’
- d’apparaître la fenêtre représenté par l’image suivante
- Déterminer les autres propriétés pour avoir le même rendu ci-dessus
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 02
-
Énoncé
- Ecrire un script appSaisie.py avec les données suivantes :
- Répartition des objets sur la grille:
- Le gestionnaire de géométrie de grille place les widgets dans un tableau à 2 dimensions. Le widget principal est divisé en un certain nombre de lignes et de colonnes, et chaque «cellule» du tableau résultant peut contenir un widget.
- Attention: ne mélangez jamais la grille et le pack dans la même fenêtre principale.
- Le canvas:
cannevasImg = Canvas (fen, width =120, height = 120, bg = "ivory")
- Cette instruction créer une représentation interne de la photo. Cette représentation permet l’accès aux paramètres de la photo.
- L’mage:
logo = PhotoImage (file="logo.png")
image = cannevasImg.create_image(64, 60, image = logo)
- Cette instruction dessine l’image sur le cannevas en mettant son centre aux coordonnées (64, 60) du cannevas. Il n’ya pas redimensionnement de l’image.
- Autres widgets
- Les widgets sont centrés dans leurs cellules. Vous pouvez utiliser l’ option sticky pour changer cela; cette option prend une ou plusieurs valeurs parmi l’ensemble N , S , E , W .
- Pour aligner les étiquettes sur la bordure gauche, vous pouvez utiliser W (ouest):
- L’option columnspan est utilisée pour permettre à un widget de s’étendre sur plus d’une colonne, et l’ option rowspan lui permet de s’étendre sur plus d’une ligne.
- Le script fait apparaître la fenêtre représenté par l’image suivante
- Déterminer les autres propriétés pour avoir le même rendu ci-dessus
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 03
-
Énoncé
- Écrire une application tkinter python qui fait apparaître un damier (dessin de cases noires sur fond blanc).
- Le canevas devra avoir une dimension de 300*300. Les carrés devront avoir un côté égal à 30.
- Le programme comportera les fonctions suivantes :
- damier() : donnée ci-dessous
- ligne_de_carres(x, y) : dessine une ligne de 5 carrés de couleur ‘navy’ espacés, en partant de (x,y).
- Le schéma suivant représente le résultat souhaité
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 04
-
Énoncé
- Écrire une application tkinter python qui fait apparaître la fenêtre d’interface du jeu de morpion.
- Pour jouer une partie de morpion, il suffit de tracer sur une feuille blanche une grille de 3 cases sur 3 (selon les variantes, il est possible d’augmenter le nombre de cases). Le but du jeu est d’aligner avant son adversaire 3 symboles identiques horizontalement, verticalement ou en diagonale.
- La fenêtre d’interface du morpion doit contenir :
- Un Label (zone d’affichage de texte) où s’afficheront les messages nécessaires au jeu ;
- Un Canvas (zone d’affichage graphique) carré de 301 pixels de côté ;
- Deux Buttons,un bouton « Quitter » et un Bouton « Recommencer ».
- Pour cela :
- Créez un nouveau fichier JeuMorpion.py.
- Dans ce fichier (vide) définissez chaque widget et disposez-le dans la fenêtre.
- La grille contient 9 carrés blancs de 97 pixels de côté.
- Le schéma suivant représente le résultat souhaité
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 05
-
Énoncé
- Créer a l’aide de la bibliothèque graphique Tkinter, une interface graphique qui affiche deux champs de saisies demandant a l’utilisateur de saisir un nombre entier et en cliquant sur le bouton de validation, le deuxième champ affiche le factoriel du nombre saisi. Un click sur le deuxième bouton efface le contenu des deux champs de saisies.
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 06
-
Énoncé
- Créer a l’aide de la bibliothèque graphique Tkinter, une application avec une interface graphique qui affiche un champ de saisie demandant a l’utilisateur de saisir un nombre entier N inférieur ou égal à 1000,l’interface doit répondre aux exigences décrits par le cahier des charges ci dessous.
- Le présent cahier des charges détaille les fonctionnalités attendues de cette application
- Un clic sur le bouton de recherche, affiche tous les nombres premiers inférieur ou égal à N.
- Écrire une fonction estPremir() qui détermine la liste des nombres premiers inférieurs ou égaux à N donné.
- Écrire une fonction estValide() qui contrôle le champ de saisie pour qu’il n’accepte que les caractères numériques
- Si l’utilisateur à saisi un entier supérieur à 1000 un messagebox sera affiché lui demandant de saisir un nombre inférieurs ou égal à 1000
- Un appui sur la touche Entrée du clavier appelle la fonction estPremier()
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 07
-
Énoncé
- Créer a l’aide de la bibliothèque graphique Tkinter, une application avec une interface graphique qui affiche un échelle (Scale) gradué de 0.00 à 20.00.
- La valeur du curseur est affichée dans un label en haut de l’échelle
- L’image suivant décrit le travail demandé
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 08
-
Énoncé
- Créer a l’aide de la bibliothèque graphique Tkinter, une application avec une interface graphique qui affiche trois échelles (Scale) gradués de 0 à 255.
- Chaque paramètre (rouge, vert et bleu) définit l’intensité de la couleur sous la forme d’un entier compris entre 0 et 255 .
- L’objectif est de modifier ces 3 valeurs (une valeur pour chaque scale) avec des curseurs séparés pendant qu’on peut visualiser le résultat en code rgb ou en Hexadécimal, afin qu’on puisse affiner rapidement ce qu’on voit dans le label de couleur.
- L’image suivant décrit le travail demandé
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 09
-
Énoncé
- Écrire un programme monHorloge qui affiche et anime deux horloges, une horloge analogique classique à 3 aiguilles (heures, minutes, secondes), et une une horloge digitale qui affiche les heures, les minutes et les secondes.
- Pour récupérer l’heure exacte, on pourra utiliser la fonction
localtime()
définie dans le module time de la bibliothèque standard de Python. - Le résultat graphique souhaité est représenté dans l’image ci-dessous (widget utilisée : Canvas)
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
Colonne01 | Colonne02 | Colonne03 |
---|---|---|
labelUn | entreeUn | le cannevas et la photo |
labelDeux | entreeDeux | |
labelTrois | entreeTrois | |
labelValider | ||
boutonValider | boutonInitialiser | boutonQuitter |
Label (master, text = "First" ) .grid (row = 0, sticky = W)
Label (master, text = "Second" ) .grid (row = 1, sticky = W)
e1 = Entrée (maître)
e2 = Entrée (maître)
e1.grid (ligne = 0, colonne = 1)
e2.grid (ligne = 1, colonne = 1)
Les valeurs des trois « scale » représentent une couleur RGB, une valeur de couleur RGB est spécifiée avec : rgb(red, green, blue)
.