ulis, 2006-10-08.
Exercices : copiez-collez les exemples, exécutez-les puis modifiez-les. Durée : 30mn.
Premier script
set ::var lun
label .l -textvar ::var -bd 1 -relief groove -width 6
grid .l -pady 10
foreach j {lun mar mer jeu ven w-e} \
{
radiobutton .$j -text $j -variable ::var -value $j
grid .$j -sticky w
}
Pour la commande label, voir Tk facile - le widget label.
La commande radiobutton crée un widget radiobutton et une commande du nom du widget. En créant le widget on peut aussi préciser la valeur des options du widget. L'option -text indique le texte à afficher à côté de la coche. L'option -variable indique le nom de la variable commune qui contient la valeur associée au bouton actif. L'option -value indique la valeur associée à ce bouton et à mettre dans la variable commune.
La commande grid affiche le widget et son option -sticky w le place à gauche (ceci pour pallier les différence de taille des textes).
Sans coche
Le radiobouton peut aussi apparaître sans coche. Lorsqu'il sera choisi il apparaîtra en creux.
set ::var lun
label .l -textvar ::var -bd 1 -relief groove -width 6
grid .l -pady 10
foreach j {lun mar mer jeu ven w-e} \
{
radiobutton .$j -text $j -var ::var -value $j \
-indicatoron 0 -width 6
grid .$j -sticky w
}
L'option -indicatoron indique si la coche est montrée (valeur 1) ou cachée (valeur 0). L'option -width indique la largeur du bouton en nombre de caractères moyens.
Sans texte
Le radiobouton peut aussi apparaître sans texte.
set ::var white
label .l -bg white -bd 1 -relief groove -width 7 -pady 3
grid .l -pady 10
foreach c {white blue green red gray} \
{
radiobutton .$c -bg $c -var ::var -value $c \
-indicatoron 0 -width 6 -selectcolor $c \
-command [list .l config -bg $c]
grid .$c -sticky w
}
L'option -selectcolor indique la couleur du fond quand le bouton est sélectionné. L'option -command indique le script à exécuter lors de la sélection du bouton.
Il y a une petite difficultée avec l'option -command. Le radiobouton étant un bouton, voir Tk facile - le widget button.
Avec une image
Le radiobouton peut afficher une image ou une bitmap.
set ::var error
label .l -bitmap error -bd 1 -relief groove -width 32 -height 32
grid .l -pady 10
foreach b {error info question warning} \
{
radiobutton .$b -bitmap $b -var ::var -value $b \
-indicatoron 0 -width 32 -height 32 \
-command [list .l config -bitmap $b]
grid .$b -sticky w
}
L'option -bitmap indique la bitmap à afficher. L'option -width indique la largeur du bouton en pixels à cause de l'option -bitmap dont la valeur est non vide. L'option -height indique la hauteur du bouton en pixels à cause de l'option -bitmap.
Voir aussi
Discussion
Catégorie Cours | Catégorie Encyclopédie Tk