Tkinter Tutorial - Radiobutton

Jinku Hu 30 gennaio 2023
  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
Tkinter Tutorial - Radiobutton

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

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](/it/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Callback Function Binding) nell’opzione come impostare la funzione di callback del pulsante. Utilizzare l’opzione command=.

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