TUTORIAL · Tkinter
Tutoriel Tkinter - Bouton radio
Il présente le Radiobouton Tkitner de A à Z
Sur cette page
Vous avez appris label, button et Checkbutton dans les dernières sections. Les widgets Tkinter ont des options, propriétés ou méthodes assez similaires, donc à partir de cette section, nous pourrions apprendre à un rythme rapide.
Le Radiobuton est un bouton de type unique. Il a plus d’une option dans la sélection, mais l’utilisateur ne peut sélectionner qu’une seule d’entre elles. Comme les widgets introduits auparavant, le Radibuton peut contenir du texte ou des images et peut y associer une fonction ou une méthode de rappel. Cette fonction de rappel se déclenche automatiquement lorsque l’on appuie sur ce bouton.
Tkinter Radiobouton Exemple de base
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
radioValue = tk.IntVar()
rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=1)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=2)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=3)
rdioOne.grid(column=0, row=0)
rdioTwo.grid(column=0, row=1)
rdioThree.grid(column=0, row=2)
app.mainloop()
Le résultat de la démo de base de Radiobutton ci-dessus est le suivant
radioValue = tk.IntVar()
Tout comme le bouton de contrôle, les boutons radio doivent associer des valeurs d’un type de données particulier.
rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=1)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=2)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=3)
Ici, des boutons avec le texte de January, Febuary et March sont créés ici. Les boutons radio du même groupe doivent avoir des valeurs uniques.
Bouton radio Tkinter - Obtenir une valeur
Les boutons radio du même groupe partagent la même variable, radioValue comme montré dans l’exemple ci-dessus, et sont assignés avec des valeurs différentes avec l’option value.
La valeur du bouton radio sélectionné met automatiquement à jour la variable radioValue qui est un tk.IntVar.
Le texte de l’étiquette reflète automatiquement la valeur du bouton sélectionné dans les codes de l’exemple ci-dessous.
import tkinter as tk
app = tk.Tk()
app.geometry("200x100")
radioValue = tk.IntVar()
rdioOne = tk.Radiobutton(app, text="January", variable=radioValue, value=0)
rdioTwo = tk.Radiobutton(app, text="Febuary", variable=radioValue, value=1)
rdioThree = tk.Radiobutton(app, text="March", variable=radioValue, value=2)
rdioOne.grid(column=0, row=0, sticky="W")
rdioTwo.grid(column=0, row=1, sticky="W")
rdioThree.grid(column=0, row=2, sticky="W")
labelValue = tk.Label(app, textvariable=radioValue)
labelValue.grid(column=2, row=0, sticky="E", padx=40)
app.mainloop()
La variable-texte de l’étiquette labelValue est la même avec l’option variable des boutons radio, de sorte que le texte de l’étiquette puisse se mettre à jour automatiquement.
Changer le type d’indicateur de bouton radio Tkinter
L’indicateur de bouton radio par défaut est un trou circulaire avec un espace blanc à l’intérieur, mais il pourrait aussi être remplacé par une boîte contenant du texte ou une image. La zone de texte est en relief lorsque le bouton radio n’est pas sélectionné et en creux lorsqu’on appuie dessus.
rdioOne = tk.Radiobutton(
app, text="I am raised", variable=radioValue, value=1, indicatoron=0
)
L’indicateur est l’option qui permet d’activer ou de désactiver l’indicateur de trous circulaires du bouton de raido. indicatoron=indicator on
Fonction de rappel du bouton radio Bind Tkinter
C’est exactement la même chose avec [Tkinter Checkbutton](/fr/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Callback Function Binding) dans l’option comment définir la fonction de rappel des boutons. Utilisez l’option command=.