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:

  • cochée
  • non cochée

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

 

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

  • le texte affiché est "voici le titre"
  • la commande par un clic de souris sur le checkbutton lancera la procédure onClick
  • l'état du checkbutton (vrai ou faux) sera contenu dans une variable nommée selected