Le widget Radiobutton
de Tkinter offre un moyen convivial de présenter un ensemble d’options mutuellement exclusives. Ce tutoriel explore ses fonctionnalités, vous guidant dans la création, la personnalisation et la réponse aux sélections de l’utilisateur.
Table des matières :
- Créer des boutons radio
- Récupérer les valeurs sélectionnées
- Personnaliser l’apparence
- Utiliser les fonctions de rappel
1. Créer des boutons radio
Pour créer des boutons radio, chacun doit être lié à une variable partagée (généralement une StringVar
). Cela garantit qu’un seul bouton du groupe peut être sélectionné à la fois. Voici comment créer un ensemble de base :
import tkinter as tk
root = tk.Tk()
root.title("Exemple de Radiobutton Tkinter")
selected_option = tk.StringVar(value="Option A")
radio_button_a = tk.Radiobutton(root, text="Option A", variable=selected_option, value="Option A")
radio_button_a.pack(anchor=tk.W)
radio_button_b = tk.Radiobutton(root, text="Option B", variable=selected_option, value="Option B")
radio_button_b.pack(anchor=tk.W)
radio_button_c = tk.Radiobutton(root, text="Option C", variable=selected_option, value="Option C")
radio_button_c.pack(anchor=tk.W)
root.mainloop()
Ce code crée trois boutons radio. L’argument variable
les lie, et l’attribut value
attribue une valeur à la sélection de chaque bouton.
2. Récupérer les valeurs sélectionnées
L’accès à la valeur sélectionnée est simple. Il suffit d’utiliser la méthode get()
sur la variable partagée :
import tkinter as tk
root = tk.Tk()
root.title("Obtenir la valeur du bouton radio")
selected_option = tk.StringVar(value="Option A")
# ... (Création des Radiobutton comme ci-dessus) ...
def get_selected():
print(f"Option sélectionnée : {selected_option.get()}")
button = tk.Button(root, text="Obtenir la valeur", command=get_selected)
button.pack()
root.mainloop()
Cet exemple ajoute un bouton qui imprime l’option sélectionnée lorsqu’on clique dessus. La méthode get()
récupère la valeur actuelle de la StringVar
.
3. Personnaliser l’apparence
Vous pouvez modifier les aspects visuels du bouton radio. Par exemple, l’option indicatoron
contrôle la visibilité de l’indicateur, et selectcolor
change la couleur lorsqu’elle est sélectionnée :
import tkinter as tk
root = tk.Tk()
root.title("Personnaliser l'apparence du bouton radio")
selected_option = tk.StringVar(value="Option A")
radio_button_a = tk.Radiobutton(root, text="Option A", variable=selected_option, value="Option A", indicatoron=False, selectcolor="lightgreen")
radio_button_a.pack(anchor=tk.W)
radio_button_b = tk.Radiobutton(root, text="Option B", variable=selected_option, value="Option B", selectcolor="lightblue")
radio_button_b.pack(anchor=tk.W)
root.mainloop()
Ceci montre comment masquer l’indicateur et changer la couleur de sélection. Expérimentez avec d’autres styles pour obtenir l’apparence souhaitée.
4. Utiliser les fonctions de rappel
Pour une approche plus propre et plus réactive, utilisez l’option command
pour lier directement une fonction à chaque bouton radio :
import tkinter as tk
root = tk.Tk()
root.title("Rappel du bouton radio")
def option_selected():
print(f"Option sélectionnée : {selected_option.get()}")
selected_option = tk.StringVar(value="Option A")
radio_button_a = tk.Radiobutton(root, text="Option A", variable=selected_option, value="Option A", command=option_selected)
radio_button_a.pack(anchor=tk.W)
radio_button_b = tk.Radiobutton(root, text="Option B", variable=selected_option, value="Option B", command=option_selected)
radio_button_b.pack(anchor=tk.W)
root.mainloop()
Cette méthode exécute option_selected
chaque fois qu’un bouton est sélectionné, fournissant une solution plus efficace et élégante pour gérer les interactions de l’utilisateur.