Tk facile - le widget scale

 

ulis, 2006-09-16.

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


Premier script

  scale .s -from 0 -to 100 -label pourcent
  grid .s

La commande scale crée un widget scale et une commande du nom du widget (ici .s). En créant le widget on peut aussi préciser la valeur des options du widget. Les options -from et -to indiquent que les valeurs vont de 0 à 100. L'option -label indique un texte associé au scale. La commande grid affiche le widget.


Scale couché

Le widget peut être debout ou couché suivant la valeur de l'option -orient.

  scale .s -orient horizontal -length 100 -width 10 \
    -sliderlength 10 -tickinterval 50
  grid .s

L'option -orient peut prendre les valeurs vertical (debout) et horizontal (couché). L'option -length détermine la longueur de la règle et l'option -width sa largeur. L'option -sliderlength indique la largeur de la réglette. L'option -tickinterval permet de graduer la règle avec des nombres.


Valeur du widget

La valeur courante du widget peut être obtenue avec l'opération get :

  set value [.s get]

Autres options

  scale .s -orient horizontal -length 100 -width 10 \
    -sliderlength 10 -tickinterval 50
  grid .s
  label .l -textvariable ::texte
  grid .l -pady 10
  .s configure -command change -showvalue 0 -variable ::value
  proc change {current} { set ::text "valeur actuelle : $::value" }

L'opération configure permet de modifier l'aspect ou le comportement du widget à travers des options. L'option -commande définit l'entête d'un script qui sera exécuté à chaque fois que la valeur changera. L'entête sera complétée avec la valeur actuelle avant d'être exécutée. L'option -showvalue permet de décider si la valeur courante est affichée par le widget. La valeur 0 l'empêche et la valeur 1 le permet. L'option -variable définit le nom d'une variable globale. Celle-ci recevra la valeur courante du widget et permettra de la modifier.

La procédure change reçoit la valeur courante du widget et change le texte d'un widget label.


Voir aussi


Discussion


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