Leçon Tkinter n° 1

Bouton et label ....

Dans le dossier tkinter créez un dossier tkinter1. Il contiendra tous les fichiers de cette leçon.

La bibliothèque Tkinter

Tkinter est la bibliothèque graphique la plus utilisée avec Python. Nous allons l'utiliser pour créer des interfaces graphiques ou GUI, Graphical User Interfaces.

La fenêtre tkinter

Recopiez le script exemple1 ci-dessous.

Mes premiers widgets

Dans les exemples qui suivent nous allons créer une fenêtre et y ajouter des widgets.
Un widget est le résultat de la contraction window gadget.

Modofiez le script précédent comme indiqué ci-dessous.

Le widget Label

Le widget Label permet d'afficher un texte.

Paramètres Action
text Indique le texte à afficher
fg, bg Indique la couleur du texte et la couleur de fond
height, width Indique hauteur et la largeur du label
font Indique la police et la mise en forme du texte

On considère le widget message

Méthode Action
message.config(...) Modifie les paramètres du widget message
message.cget(...) Retourne la valeur de l'option demandée message

La méthode .cget(...) retorune une chaîne de caractères.

Le widget Button

Le widget Button permet de déclencher une action lors d'un clic.

On retrouve les mêmes paramètres que pour le widget Labelet un nouveau essentiel : command.
Ce paramètre est suivi de = nom de la fonction à déclencher.
Cette fonction ne comporte pas de parmètres.

Testez le code ci-dessous:

Exercice 1

Dans cet exercice on veut jouer avec la machine au jeu Papier, Pierre, Ciseau.
Le joueur chosit, via un bouton,les autres boutons disparaissent, laissant seulement le choix du joueur et de la machine.

Complétez le script ci-dessous pour obtenir le résultat demandé.



Rajoutez un bouton Rejouer

Le widget Entry

Le widget Entry permet à l'utilisateur d'entrer un texte court sur une ligne.
Comme les widgets précédents, il possède les paramètres fg, bg, height, width, font, ..... mais pas les paramètres text ou command.

Voici quelques méthodes du widget Entry que l'on nommera champ

Méthode Action
champ.get() Retourne le texte saisi dans l'Entry champ
champ.delete(i) Efface le caractère à la position i de l'Entry champ
champ.delete(deb,fin) Efface les caractères situés entre l'indice dev et fin de l'Entry champ
champ.delete(0,END) Efface tout le texte i de l'Entry champ

Exercice 2

Dans cet exercice il s'agira de trouver un mot dont l'affichage est mélangé.

On va ici télécharger un texte où chaque ligne est un mot : mots.txt

Recopiez et complétez le code ci-dessous.

Modifiez votre script afin de proposer un nombre limité de tentatives