Tutoriel Tkinter - Bouton radio

  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

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

Tkinter Radiobutton_Basic.py
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 dans l’option comment définir la fonction de rappel des boutons. Utilisez l’option command=.

comments powered by Disqus