Syntaxe du widget Entry : ttk.Entry(cible [, options]).pack()
.
Il existe deux façons d'utiliser ce widget :
Méthode 2 : le widget Entry possède trois méthodes importantes.
nom_zoneSaisie = ttk.Entry(cible [, options])
et puis
nom_zoneSaisie.pack()
nom_zoneSaisie.get()
permet de lire/récupérer le contenu de la zone de saisie.nom_zoneSaisie.insert(i, s)
permet d'insérer la chaîne s, à partir du
caractère d'index i de la zone de saisie (si une chaîne est déjà présente) ou à partir du début sinon.nom_zoneSaisie.delete(0, 'end')
permet de supprimer la totalité de la zone de saisie.1/ Pour récupérer le résultat tapé dans la zone de saisie, on utilise la méthode get() du widget entry.
En procédant comme dans le code fourni en exemple :
2/ A ce stade, l'application affiche le résultat du calcul mais ne vérifie pas s'il est juste ou non : modifier à nouveau la fonction afficheResultat() de façon à ce qu'elle effectue cette vérification et affiche un message (félicitations en cas de succès ou encouragements dans le cas contraire) dans le label lblResultat.
3/ Il apparaît qu'un bouton "Recommencer" serait bien pratique...
Le tirage des nombres aléatoires doit être
confié à une nouvelle fonction nommée calcul() qui met également à jour le label lblResultat dont le texte doit être
transfomé en texte variable associé à une chaîne svCalcul.
Cette fonction peut également effacer la zone de
saisie (cf. ci-dessus) ainsi que le label lblResultat.
Attention, les variables contenant les nombres aléatoires
(appellons les a et b) sont maintenant créées dans la fonction calcul() et non dans le programme principal or la
fonction afficheResultat() a besoin de connaître ces variables a et b pour vérifier le résultat du calcul.
Il faut donc déclarer a et b comme globales dans la fonction calcul(), ainsi a et b sont accessibles dans tout le
programme y compris dans la fonction afficheResultat().
Il n'est pas très pratique de devoir cliquer sur un bouton pour effectuer la vérification du calcul...
Réaliser l'interface suivante : lorsqu'on clique sur le bouton, le mot de passe tapé dans la première zone de saisie s'affiche dans la seconde.
L'attribut width
permet de spécifier la largeur de la zone de saisie.
L'attribut show
permet de remplacer les caractères entrés par un symbole
(ici le symbole "*" usuel pour les mots de passe sous windows).
La fonction afficheZoneSaisie()
est l'événement déclenché par le bouton. Cette fonction ne produit ici qu'un affichage dans la console.
Noter l'absence de parenthèses dans
command=afficheZoneSaisie
et non pas .command=afficheZoneSaisie()
La méthode focus_force()
permet de placer le pointeur de la souris dans le champ de saisie (sans cette instruction, il faut cliquer dans la zone de saisie avant de taper
du texte).