Tk facile - le widget label

 

ulis, 2006-09-08.

Exercices : copiez-collez les exemples, exécutez-les puis modifiez-les. Durée : 30mn.


Premier script

  label .l -text "Moi !"
  grid .l

La commande label crée un widget label.

La commande grid l'affiche.


Options standards

  label .l -text "Moi !"
  grid .l
  .l configure -bg yellow \
    -font {Courier -16} -width 10

La commande label a non seulement créé un widget mais aussi une commande. Cette commande s'appelle comme le widget (ici .l) et permet de dialoguer avec lui. L'opération configure permet de modifier l'aspect ou le comportement du widget à travers des options. L'option -bg est une option abrégée qui est synonyme de l'option -background qui contrôle la couleur du fond. L'option -font contrôle elle la police du texte. L'option -width indique la largeur du widget, en nombre de caractères (voir après).

  label .l -text "Moi !"
  grid .l
  .l configure -bg yellow \
    -font {Courier -16} -width 50 \
    -bitmap info

Le texte a été remplacé par une bitmap et la largeur est maintenant exprimée en pixels ! (d'autres bitmaps : error, question, warning) Pour faire réapparaître le texte il faut l'option -compound.

  label .l -text "Moi !"
  grid .l
  .l configure -bg yellow \
    -font {Courier -16} -width 100 \
    -bitmap info -compound left -padx 10

L'option -compound left a mis la bitmap à gauche. L'option -padx 10 a mis une bordure de 10 pixels à gauche et à droite de la bitmap et du texte.

En remplaçant l'option -bitmap par l'option -image, on peut mettre de vraies images.

Pour connaître la valeur d'une option, on utilise l'opération cget.

  grid [label .l]
  set font [.l cget -font]
  .l configure -text "j'utilise la police $font"


Options avancées

  grid [label .l -textvariable ::moi]
  after 1000 moi
  proc moi {} { append ::moi "moi ! "; after 1000 moi }

La commande label renvoie le nom du widget qui peut donc être utilisé par la commande grid. L'option -textvariable remplace l'option -text mais au lieu de prendre une valeur elle prend un nom de variable et le widget affiche la valeur de cette variable. Toute modification de la valeur de la variable sera prise en compte. La procédure moi modifie la variable globale ::moi toutes les secondes.


Voir aussi


Discussion


Catégorie Cours | Catégorie Encyclopédie Tk