LE CHECKBUTTON
Le checkbutton est une petite case à cocher qui réagit à la souris ou à la barre espace du clavier et qui peut prendre 2 états: Coché ou non coché. Il est intéressant lors de sélection d'options ou de configurations.
Voici divers tutoriels sur le checkbutton :
premiere approche
La boite à cocher (checkbutton) diffère du bouton normal car elle a deux états:
On pourra comme pour le bouton lui associer un texte, le contenu d'une variable, une image ou même deux (une lorsqu'il est coché, une lorsqu'il ne l'est pas ).
On pourra même associer une commande aux actions de l'utilisateur sur cette boite.
Exemples de création de boîtes à cocher:
checkbutton .top1.f.c1 -text "Je suis coché" -variable EtatC1 pack configure .top1.f.c1 -side left # Création d'une boîte à cocher. Son état est dans la variable (globale) EtatC1 (=1 si coché, 0 sinon)
set EtatC1 1 #.top1.f.c1 est coché
image create bitmap FlagUp -file /images/flagup.bmp -maskfile /images/flagup.bmp image create bitmap FlagDown -file /images/flagdown.bmp -maskfile /images/flagdown.bmp #Création de deux images à base de bitmaps au format X11 bitmap
checkbutton .top1.f.c2 -image FlagDown -selectimage FlagUp -variable EtatC2 -indicatoron 0 #Création d'une boîte à cocher. Son état est dans la variable (globale) EtatC2 # Il ne contient pas d'indicateur (case cochée ou non) car son état sera traduit par le bitmap # affiché (FlagUp lorsqu'elle est cochée, FlagDown sinon)
En resumé :
Créer un checkbutton
Le CheckButton ou communément appelé le Radio Button permet de sélectionner deux états soit VRAI soit FAUX
Voici une petite application pour afficher un Chekcbutton dans une fenêtre puis de récupérer l'état du Checkbutton.
Voici le code de l'application :
#!/usr/bin/wish # ZetCode Tcl/Tk tutorial # # This program toggles the title of the # window with the checkbutton widget. # # Author: Jan Bodnar # Website: www.zetcode.com frame .fr pack .fr -fill both -expand 1 checkbutton .fr.cb -text "Voici le titre" -command onClick -onvalue true -offvalue false -variable selected .fr.cb select place .fr.cb -x 50 -y 50 proc onClick {} { global selected if {$selected==true} { wm title . "le CheckButton est TRUE" } else { wm title . "le CheckButton est FALSE" } } wm title . checkbutton wm geometry . 350x250+300+300
Commentons le code de cette application :
frame .fr : Création d'un frame
pack .fr -fill both -expand 1 : Affiche la frame ainsi créée en étirant les bords sur toute la surface de la fenêtre
checkbutton .fr.cb -text "Voici le titre" -command onClick -onvalue true -offvalue false -variable selected : Crée un Checkbutton dont
Pour aller plus loin avec le checkbutton