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