Tkinter tutorial - Radiobutton

Jinku Hu 30 januari 2023 20 december 2019
  1. Tkinter Radiobutton Basisvoorbeeld
  2. Tkinter Radiobutton - Ontvang waarde
  3. Verander Tkinter Radiobutton Indicator Type
  4. Bind Tkinter Radiobutton Callback-functie
Tkinter tutorial - Radiobutton

Je hebt label , knop en Checkbutton in de laatste secties geleerd . Tkinter-widgets hebben vrij vergelijkbare opties, eigenschappen of methoden, daarom kunnen we vanaf dit gedeelte in een snel tempo leren.

De Radiobuton is een one-of-many type knop. Het heeft meer dan één optie in de selectie, maar de gebruiker kan er slechts één selecteren. Hetzelfde als eerder geïntroduceerde widgets, Radibutton zou tekst of afbeelding kunnen bevatten en zou de callback-functie of methode eraan kunnen binden. Deze callback-functie wordt automatisch geactiveerd wanneer op die knop wordt gedrukt.

Tkinter Radiobutton Basisvoorbeeld

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()

Het resultaat van bovenstaande Radiobutton-basisdemo is hieronder

Tkinter Checkbutton Basisvoorbeeld

radioValue = tk.IntVar()

Net als de selectieknop, moeten keuzerondjes waarden van een bepaald gegevenstype eraan koppelen.

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)

Hier worden daar knoppen gemaakt met de tekst “januari”, “februari” en “maart”. Radioknoppen in dezelfde groep moeten en moeten unieke waarden hebben.

Vraag

Wat als ze dubbele waarden hebben?

Tkinter Radiobutton - Ontvang waarde

De keuzerondjes in dezelfde groep delen dezelfde variabele, radioValue zoals weergegeven in het bovenstaande voorbeeld, en krijgen bij de optie verschillende waarden toegewezen value.

De waarde van het geselecteerde keuzerondje werkt automatisch de variabele bij radioValue die een is tk.IntVar.

De labeltekst geeft automatisch de waarde van de geselecteerde knop weer in de onderstaande voorbeeldcodes.

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()

De textvariable van het labelValue label is het zelfde met variable optie van de radio knoppen, zodat het label tekst kon automatisch werkt zichzelf.

Tkinter Radiobutton_get-waarde

Verander Tkinter Radiobutton Indicator Type

De standaardindicator voor het keuzerondje is een rond gat met witruimte erin, maar deze kan ook worden vervangen door een vak met tekst of afbeelding. Het tekstvak wordt verhoogd wanneer het keuzerondje niet is geselecteerd en wordt verzonken wanneer het wordt ingedrukt.

Tkinter tutorial Radiobutton verhoogd en verzonken

rdioOne = tk.Radiobutton(app, text='I am raised',
                             variable=radioValue, value=1,
                             indicatoron = 0) 

indicatoron is de optie om de ronde cirkelindicator van de raidoknop in of uit te schakelen. indicatoron = indicator on

Bind Tkinter Radiobutton Callback-functie

Het is precies hetzelfde met [Tkinter Checkbutton](/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Callback Function Binding) in de optie voor het instellen van de knop callback-functie. Gebruik optie command=.

Author: 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