Tutoriel Tkinter - Bouton radio

Jinku Hu 30 janvier 2023
  1. Tkinter Radiobouton Exemple de base
  2. Bouton radio Tkinter - Obtenir une valeur
  3. Changer le type d’indicateur de bouton radio Tkinter
  4. Fonction de rappel du bouton radio Bind Tkinter
Tutoriel Tkinter - Bouton radio

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

Bouton de contrôle Tkinter Exemple de base

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.

Question
Et s’ils ont des valeurs en double?

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.

Tkinter Valeur du Radiobutton_get

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.

Tkinter Tutoriel Bouton radio levé et enfoncé

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=.

Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook