⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Checkbutton
Tutoriel de tkinter.Checkbutton ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Checkbutton
Tutoriel de tkinter.Checkbutton ( )
DESCRIPTION.
Créer un nouveau controle de type option à cocher (widget : tkinter.Checkbutton ( )).
SYNTAXE.
CKB_Option = tkinter.Checkbutton ( parent , attribut1 = valeur , ... , attributn = valeur )
CKB_Option = ⇨ affectation de l'instance du controle [ optionnel ]
tkinter.Checkbutton ( ) ⇨ création d'une instance de tkinter.Checkbutton ( ) [ OBLIGATOIRE ]
parent ⇨ conteneur de l'instance de tkinter.Checkbutton ( ) [ OBLIGATOIRE ]
attribut = valeur ⇨ attribut à modifier avec sa nouvelle valeur [ optionnel ]
REMARQUES.
Les cases à cocher, ou options à cocher, créées avec la classe tkinter.Checkbutton ( ) permettent à l'utilisateur d'activer, ou de désactiver, des choix, des options ou des alternatives, qui seront prises en compte, dans la suite du script, pour les traitements des informations et des données.
Contrairement aux cases radio, qui permettent un choix unique parmi plusieurs propositions, les options à cocher sont toutes indépendantes et ne doivent donc pas faire partis d'un groupe de cases. La sélection d'une des options ne désactive pas les autres. Mais de ce fait, les cases à options n'offrent qu'un choix binaire (activé/désactivé).
Pour savoir si une option est cochée ou non, il faut, nécessairement, lui associer une variable de controle grace à son attribut variable, dont la valeur sera modifiée selon l'état de l'option. Si l'option est active, cochée, la variable de controle recevra la valeur de l'attribut onvalue, sinon elle sera affectée de la valeur de l'attribut offvalue. Par défaut onvalue = 1 et offvalue = 0.
Les attributs onvalue et offvalue doivent, obligatoirement, avoir des valeurs de même type : bool ( ), int ( ), float ( ) ou str ( ). Et la variable de controle associée à l'option doit aussi être de ce type :
- tkinter.BooleanVar ( ), pour des valeurs de type bool ( ) ;
- tkinter.IntVar ( ), pour des valeurs de type int ( ) ;
- tkinter.DoubleVar ( ), pour des valeurs de type float ( ) ;
- tkinter.StringVar ( ), pour des valeurs de type str ( ).
L'utilisation de l'une des méthodes tkinter.Checkbutton ( ).select ( ) ou tkinter.Checkbutton ( ).deselect ( ) permettra d'initialiser l'option et d'affecter la valeur par défaut à la variable de controle, sinon elle restera avec sa valeur par défaut obtenue lors de sa création, ce qui pourrait retourner des résultats inattendus et non souhaités, lors des traitement des données par le script. Pour rappel, les valeurs par défaut des variables de controle sont :
- False pour une variable de controle de type tkinter.BooleanVar ( ) ;
- 0 pour une variable de controle de type tkinter.IntVar ( ) ;
- 0.0 pour une variable de controle de type tkinter.DoubleVar ( ) ;
- "" pour une variable de controle de type tkinter.StringVar ( ).
Attention à ne pas confondre l'attribut variable, qui désigne la variable de controle qui reçoit la valeur de l'option, et l'attribut textvariable qui permets de modifier automatiquement le texte de la case à cocher.
Les objets permanents de type tkinter.Checkbutton ( ) sont identifiés dans le site par : CKB_.
Voir les conventions sur les variables utilisées dans ce site ...
CREATION D'UNE CASE A COCHER.
Les cases à cocher sont crées comme tous les autres controles de tkinter, grâce à leur constructeur de classe tkinter.Checkbutton ( ) et leur premier attribut doit être l'identification de son conteneur, son parent. Il est prudent de leur associer une variable de controle dès leur création.
import tkinter
TKI_Principal = tkinter.Tk ( )
TKV_Valeur = tkinter.StringVar ( )
tkinter.Checkbutton ( TKI_Principal , onvalue = "oui" , offvalue = "non" , textvariable = TKV_Valeur , variable = TKV_Valeur ).pack ( )
tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy ).pack ( )
TKV_Valeur.set ( "oui" )
TKI_Principal.mainloop ( )
EXEMPLE.
import tkinter
def FNC_Calcul ( *event ) :
kprix = 33 + ( 33 * TKV_Valeur.get ( ) ) / 100
TKV_Prix.set ( f"H.T. : 33,00\nTaxe : { TKV_Valeur.get ( ) } %\nPaP : {kprix : .2f}" )
TKI_Principal = tkinter.Tk ( )
TKV_Valeur = tkinter.DoubleVar ( )
TKV_Prix = tkinter.StringVar ( )
CKB_Taxe = tkinter.Checkbutton ( TKI_Principal , onvalue = 6.5 , offvalue = 23.75 , textvariable = TKV_Valeur , variable = TKV_Valeur )
LAB_Prix = tkinter.Label ( TKI_Principal , textvariable = TKV_Prix )
tkinter.Label ( TKI_Principal , textvariable = TKV_Prix ).pack ( )
CKB_Taxe.pack ( )
tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy ).pack ( pady = 10 )
TKV_Valeur.trace ( "w" , FNC_Calcul )
CKB_Taxe.select ( )
FNC_Calcul ( None )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de