GUI Programming

Maîtriser les boutons radio Tkinter : Guide complet

Spread the love

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 :

  1. Créer des boutons radio
  2. Récupérer les valeurs sélectionnées
  3. Personnaliser l’apparence
  4. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *