Widget Label

Fenêtre - Widgets

Le widget Label peut être utilisé pour afficher une chaîne prédéfinie ou bien une chaîne variable (i.e. modifiable après création du widget).

Syntaxes (cible désigne la fenêtre ou le cadre dans lequel l'étiquette doit être placée) :

  1. Texte prédéfini, création en 1 étape :
  2. ttk.Label(cible, text='...').pack()
  3. Texte variable, création en 3 étapes :
  4. - nom_variable = tk.StringVar() (initialisation d'une variable de type str à l'aide de la classe StringVar de tkinter) ;
    - ttk.Label(cible, textvariable=sv).pack() ;
    - nom_variable.set('...') permet de modifier la chaîne affichée par l'étiquette (nom_variable.get() permet d'accéder au contenu de la variable nom_variable).

Ce widget permet également d'afficher une image statique (cf. exemple ci-dessous et "Mémento Tkinter" dans le menu).

Tables 4

Pour valider ou non la valeur entrée par l'élève en train de réviser ses tables, on va utiliser un label avec un texte variable.
Créer une variable svResultat et un label lblResultat (comme dans le code fourni en exemple) et positionner le widget. Ajouter une instruction (méthode set()) pour afficher quelque chose dans le label (par exemple, "Résultat du calcul"). Cette instruction ne sert qu'à vérifier que le code fonctionne, elle sera supprimée ensuite.

Tester le code.

Précédent A suivre...

  1. Consulter ce lien Label puis modifier police, taille, couleur et arrière-plan du texte du Label dans le code fourni en exemple.
  2. Réaliser l'interface suivante : lorsqu'on clique sur le bouton, le message affiché change. Créer une fonction, appelée par ce bouton, qui effectue ce travail de modification.
    Exercice label a Exercice label b
  3. Créer une interface avec une image en tenant compte des conseils suivants.
    Attention au format de l'image (cette image fonctionne), utiliser paint si nécessaire pour convertir une image récalcitrante au format png.
    Pour déterminer le chemin jusqu’à un fichier, afficher l’arborescence dans Pyzo (menu Outils/File browser), faire un clic droit sur le fichier, copier/coller le chemin puis remplacer \ par \\.
    Attention, (redémarrer le shell à chaque message d'erreur se terminant par : no such file or directory).

Sans souci esthétique :


Avec une image :

Attention, pour utiliser une image, il existe deux façons de procéder :

  1. Utiliser un chemin complet de la forme tk.PhotoImage(file='E:\\mon_dossier\\mon_image.png') ;
  2. Placer l'image dans le même dossier que le script python (celui-ci doit donc y être sauvegardé) et cliquer sur le coin inférieur droit du bouton de l'étoile des favoris dans l'explorateur de fichiers de pyzo et choisir "Aller dans ce dossier (shell courant)". Cf. copie d'écran ci-dessous.
Fenêtre - Widgets

Attention, avec pyzo, en cas de message d'erreur se terminant par : _tkinter.TclError: couldn't open "Scratchcat2.png": no such file or directory. Il faut corriger l'erreur puis redémarrer le shell avant de relancer une exécution.


Changement de message :


Code


Commentaires

Un Label permet d'afficher soit une chaîne prédéfinie (text='Pseudo :' dans le premier exemple ci-dessus) soit le contenu d'une variable (textvariable = ma_variable dans le second exemple).
Cette variable est créée grâce à la fonction :
- ma_variable = tk.StringVar() pour une chaîne ;
- ma_variable = tk.IntVar() pour un entier.
- ma_variable = tk.DoubleVar() pour un flottant.
La mise à jour du label est réalisée grâce à la méthode ma_variable.set().
La lecture de la variable fait appel à la méthode ma_variable.get().

Utiliser des ressources web