Créer une interface utilisateur intuitive et interactive en Python peut être complexe.
Sans les bons outils, les applications risquent d’être peu engageantes, limitant l’expérience utilisateur.
Cet article présente le widget Checkbutton de Tkinter, essentiel pour des sélections dynamiques, enrichissant vos applications.
Créez des interfaces graphiques interactives avec Python et TKinter !
Gérer un Checkbutton Tkinter avec BooleanVar
Dans cette section, nous allons explorer en détail le widget Checkbutton de Tkinter, qui permet à l’utilisateur de sélectionner une ou plusieurs options en cochant des cases. Ce widget est particulièrement utile pour les formulaires ou les interfaces nécessitant des choix multiples. Contrairement à d’autres environnements où ce widget est appelé Checkbox , en Tkinter, il porte le nom de Checkbutton .
Pour comprendre l’utilisation de ce widget, commençons par un exemple simple où nous allons créer une case à cocher. Pour cela, nous devons utiliser une variable de contrôle, ici var1, qui est de type BooleanVar . Cette variable stocke l’état de la case (cochée ou non). Voici un exemple basique d’utilisation :
from tkinter import *
root = Tk()
root.title("Mon application")
root.geometry('800x600+600+200')
var1 = BooleanVar()# Stocke l'état de la case
check1 = Checkbutton(root,text="Option 1",variable=var1)
check1.pack()
root.mainloop()
Dans le code si dessus :
• var1 est une variable de type BooleanVar qui stocke soit True (coché) soit False (non coché).
• Le widget Checkbutton est créé avec un texte (« Option 1 ») et est lié à la variable var1 grâce à la propriété variable.
• La méthode pack() permet de placer le Checkbutton dans la fenêtre de manière simple.
À l’exécution, une fenêtre s’ouvre avec une case à cocher « Option 1 ».
Cependant, aucun comportement n’est encore associé au fait de cocher ou décocher la case. Pour rendre cette interface interactive, nous allons ajouter une fonction qui sera déclenchée lorsqu’on clique sur un bouton de validation. Cette fonction vérifiera si la case est cochée ou non.
from tkinter import *
root = Tk()
root.title("Mon application")
root.geometry('800x600+600+200')
var1 = BooleanVar()
check1 = Checkbutton(root,text="Option 1",variable=var1)
check1.pack()
defvalider_selection():
print("Option 1 est " + ("cochée" if var1.get() else "non cochée"))
btn = Button(root,text="Valider",command=valider_selection)
btn.pack()
root.mainloop()
La fonction valider_selection() récupère l’état de la variable var1 pour indiquer si l’option a été cochée ou non. Ce comportement est déclenché par un clic sur le bouton « Valider », qui exécute cette fonction et permet de capturer l’état du Checkbutton . Ainsi, lorsqu’on clique sur « Valider », un message s’affiche dans la console, précisant si la case est activée ou non. Voici un exemple d’utilisation de ce programme :
Lorsque nous avons d’abord cliqué sur le bouton de validation avec l’option 1 non cochée, nous avons pu observer dans le terminal Python le message suivant : « Option 1 est non cochée » . Cela signifie que le Checkbutton n’était pas activé lors de la première validation.
Ensuite, après avoir coché l’option 1 et cliqué de nouveau sur le bouton « Valider », le terminal a affiché : « Option 1 est cochée » . Cela montre que l’état du Checkbutton a été mis à jour et est maintenant activé. Ce comportement est contrôlé par la variable associée au widget, qui reflète l’état courant de la case à cocher lors de la validation.
Multiples Checkbuttons et Tkinter Interface
Il est fréquent de proposer plusieurs choix à l’utilisateur. Voici un exemple où nous avons trois cases à cocher, et où l’on affiche les options sélectionnées après validation.
from tkinter import *
root = Tk()
root.title("Mon application")
root.geometry('800x600+600+200')
var1 = BooleanVar()
var2 = BooleanVar()
var3 = BooleanVar()
check1 = Checkbutton(root,text="Option 1",variable=var1)
check2 = Checkbutton(root,text="Option 2",variable=var2)
check3 = Checkbutton(root,text="Option 3",variable=var3)
check1.pack()
check2.pack()
check3.pack()
defvalider_selection():
selections = []
if var1.get():
selections.append("Option 1")
if var2.get():
selections.append("Option 2")
if var3.get():
selections.append("Option 3")
if selections:
print("Vous avez sélectionné : " + ", ".join(selections))
else:
print("Aucune option sélectionnée")
btn = Button(root,text="Valider",command=valider_selection)
btn.pack()
root.mainloop()
De manière similaire à l’exemple précédent, trois variables de type BooleanVar sont utilisées pour suivre l’état des trois Checkbuttons. La fonction valider_selection() parcourt ces cases à cocher et affiche les options sélectionnées dans la console. Le bouton « Valider » est chargé de déclencher cette validation, permettant ainsi de vérifier quelles options ont été cochées. Voici l’exécution de ce programme :
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment créer un Checkbutton avec Tkinter ?
Comment gérer l'état d'un Checkbutton ?
Comment ajouter une validation à un Checkbutton ?
Quelle est la différence entre Checkbutton et Listbox ?
Comment utiliser plusieurs Checkbuttons dans une application Tkinter ?
Conclusion
L’utilisation du Checkbutton de Tkinter offre une flexibilité considérable pour créer des interfaces utilisateur dynamiques et réactives. Quelle autre fonctionnalité de Tkinter aimeriez-vous explorer pour enrichir vos applications Python ?