Les cases à cocher sont un élément fondamental de l’interface utilisateur dans Tkinter, offrant un moyen simple pour les utilisateurs de sélectionner ou de désélectionner des options. Ce tutoriel explore différents aspects de l’utilisation des cases à cocher, de l’implémentation de base aux techniques avancées telles que la liaison de fonctions de rappel et la modification des états par défaut.
Table des matières :
- Exemple de base de case à cocher
- Sélection et désélection programmatiques
- Basculer l’état de la case à cocher
- Liaison des fonctions de rappel
- Définition de la valeur par défaut de la case à cocher
- Explorer les options supplémentaires
1. Exemple de base de case à cocher
Commençons par un exemple simple illustrant une seule case à cocher :
import tkinter as tk
root = tk.Tk()
root.title("Exemple de case à cocher")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="J'accepte les termes", variable=var)
checkbutton.pack()
root.mainloop()
Cela crée une fenêtre contenant une case à cocher intitulée « J’accepte les termes ». La variable BooleanVar()
stocke l’état de la case à cocher (True pour sélectionné, False pour désélectionné). pack()
positionne la case à cocher dans la fenêtre.
2. Sélection et désélection programmatiques
Vous pouvez contrôler directement l’état de la case à cocher à l’aide de sa variable associée :
import tkinter as tk
root = tk.Tk()
root.title("Contrôle de la case à cocher")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Sélectionnez-moi !", variable=var)
checkbutton.pack()
def select():
var.set(True)
def deselect():
var.set(False)
select_button = tk.Button(root, text="Sélectionner", command=select)
select_button.pack()
deselect_button = tk.Button(root, text="Désélectionner", command=deselect)
deselect_button.pack()
root.mainloop()
Cet exemple ajoute des boutons pour sélectionner et désélectionner programmatiquement la case à cocher.
3. Basculer l’état de la case à cocher
Un cas d’utilisation fréquent consiste à basculer l’état de la case à cocher :
import tkinter as tk
root = tk.Tk()
root.title("Basculer la case à cocher")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Basculez-moi !", variable=var, command=lambda: print(f"État de la case à cocher : {var.get()}"))
checkbutton.pack()
root.mainloop()
L’option command
déclenche une fonction (ici, l’impression de l’état actuel) à chaque fois que la case à cocher est basculée.
4. Liaison des fonctions de rappel
Des actions plus complexes peuvent être effectuées à l’aide d’une fonction de rappel personnalisée :
import tkinter as tk
root = tk.Tk()
root.title("Rappel de la case à cocher")
def callback():
if var.get():
print("Case à cocher sélectionnée !")
else:
print("Case à cocher désélectionnée !")
var = tk.BooleanVar()
checkbutton = tk.Checkbutton(root, text="Déclencher le rappel !", variable=var, command=callback)
checkbutton.pack()
root.mainloop()
Cet exemple montre une fonction de rappel qui affiche un message en fonction de l’état de la case à cocher.
5. Définition de la valeur par défaut de la case à cocher
L’état initial de la case à cocher peut être défini :
import tkinter as tk
root = tk.Tk()
root.title("Valeur par défaut de la case à cocher")
var = tk.BooleanVar(value=True) # Initialement sélectionnée
checkbutton = tk.Checkbutton(root, text="Sélectionnée par défaut !", variable=var)
checkbutton.pack()
root.mainloop()
En initialisant BooleanVar
à True
, la case à cocher commence à l’état sélectionné.
6. Explorer les options supplémentaires
Le widget Checkbutton
de Tkinter offre plusieurs autres options de personnalisation, notamment :
onvalue
etoffvalue
: Personnalisez les valeurs associées aux états sélectionné et désélectionné (la valeur par défaut est respectivement 1 et 0).variable
: Bien que nous ayons utiliséBooleanVar
, vous pouvez utiliser d’autres types de variables pour une gestion d’état plus complexe.indicatoron
: Contrôle si la case à cocher affiche un indicateur visuel (case).selectcolor
: Modifiez la couleur de l’indicateur sélectionné.offrelief
etonrelief
: Contrôlez l’apparence 3D du bouton dans les états sélectionné et non sélectionné.
Consultez la documentation officielle de Tkinter pour obtenir une liste complète des options et de leur utilisation.