Tkinter Tutorial - Radiobutton

  1. Esempio di base di Tkinter Radiobutton
  2. Tkinter Radiobutton - Ottieni valore
  3. Cambiare il tipo di indicatore del pulsante radio Tkinter
  4. Funzione Bind Tkinter Radiobutton Callback

Hai imparato label, button e Checkbutton nelle ultime sezioni. I widget di Tkinter hanno opzioni, proprietà o metodi abbastanza simili, quindi da questa sezione in poi, potremmo imparare ad un ritmo veloce.

Il Radiobuton è un pulsante di tipo one-of-many. Ha più di una opzione nella selezione, ma l’utente può selezionarne solo una. Come i widget introdotti in precedenza, Radibutton potrebbe contenere testo o immagine e potrebbe legare ad esso la funzione o il metodo di richiamata. Questa funzione di callback si attiva automaticamente quando si preme quel pulsante.

Esempio di base di Tkinter Radiobutton

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

Il risultato della demo di base di Radiobutton di cui sopra è il seguente

Tkinter Checkbutton Esempio di base

radioValue = tk.IntVar()

Proprio come il pulsante di controllo, i pulsanti radio devono associare ad essi valori di particolare tipo di dati.

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)

Qui vengono creati i pulsanti con il testo di January, Febuary e March. I pulsanti di opzione dello stesso gruppo devono e devono avere valori unici.

Domanda

E se hanno dei valori doppi?

Tkinter Radiobutton - Ottieni valore

I pulsanti radio dello stesso gruppo condividono la stessa variabile, radioValue come mostrato nell’esempio precedente, e sono assegnati con valori diversi con l’opzione value.

Il valore del pulsante di opzione selezionato aggiorna automaticamente la variabile radioValue che è un tk.IntVar.

Il testo dell’etichetta riflette automaticamente il valore del pulsante selezionato nei codici dell’esempio seguente.

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 testovariabile dell’etichetta labelValue è la stessa con l’opzione variabile dei pulsanti radio, in modo che il testo dell’etichetta si aggiorni automaticamente.

Valore di Tkinter Radiobutton_get

Cambiare il tipo di indicatore del pulsante radio Tkinter

L’indicatore di default del pulsante radio è un foro circolare con uno spazio bianco all’interno, ma potrebbe anche essere sostituito con una scatola contenente testo o immagine. La casella di testo si alza quando il pulsante di opzione non è selezionato e si annega quando viene premuto.

Tkinter Tutorial Radiobutton Sollevato e Affondato

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

indicatoron è l’opzione per attivare o disattivare l’indicatore del foro circolare del pulsante raido. indicatoron = indicatore on.

Funzione Bind Tkinter Radiobutton Callback

E’ esattamente lo stesso con Tkinter Checkbutton nell’opzione come impostare la funzione di callback del pulsante. Utilizzare l’opzione command=.