Tkinter Tutorial - Radiobutton

Jinku Hu 15 Februar 2024
  1. Tkinter Radiobutton Grundlegendes Beispiel
  2. Tkinter Radiobutton - Wert holen
  3. Tkinter Radiobutton Indikatortyp ändern
  4. Bindung Tkinter Radiobutton Callback Funktion
Tkinter Tutorial - Radiobutton

Sie haben label, button und Checkbutton in den letzten Abschnitten gelernt. Tkinter Widgets haben ziemlich ähnliche Optionen, Eigenschaften oder Methoden, daher konnten wir von diesem Abschnitt an in schnellem Tempo lernen.

Der Radiobuton ist ein einzigartiger Knopf. Er hat mehr als eine Option in der Auswahl, aber der Benutzer konnte nur eine davon auswählen. Wie bei den zuvor vorgestellten Widgets konnte der Radibutton Text oder Bild enthalten und die Callback-Funktion oder -Methode an ihn binden. Diese Callback-Funktion wird automatisch ausgelöst, wenn dieser Button gedrückt wird.

Tkinter Radiobutton Grundlegendes Beispiel

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

Das Ergebnis der obigen Radiobutton Basis-Demo ist unten

Tkinter Checkbutton Grundlegendes Beispiel

radioValue = tk.IntVar()

Genau wie Check-Buttons müssen Radio-Buttons Werte eines bestimmten Datentyps mit ihnen assoziieren.

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 werden hier Knöpfe mit dem Text von January, Febuary und March erstellt. Auswahlknöpfe in der gleichen Gruppe sollen und müssen eindeutige Werte haben.

Frage
Was ist, wenn sie doppelte Werte haben?

Tkinter Radiobutton - Wert holen

Die Radiobuttons in der gleichen Gruppe teilen sich die gleiche Variable, radioValue wie im obigen Beispiel gezeigt, und werden mit der Option value mit unterschiedlichen Werten belegt.

Der Wert des ausgewählten Radiobuttons aktualisiert automatisch die Variable radioValue, die ein tk.IntVar ist.

Der Text der Beschriftung spiegelt automatisch den Wert des ausgewählten Knopfes in den untenstehenden Beispielcodes wider.

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

Die Textvariable des labelValue Labels ist die gleiche mit der variablen Option der Radiobuttons, so dass sich der Labeltext automatisch aktualisieren könnte.

Tkinter Radiobutton_get Wert

Tkinter Radiobutton Indikatortyp ändern

Der Standard-Radio-Button-Indikator ist ein kreisförmiges Loch mit weißem Raum im Inneren, aber er könnte auch durch ein Feld mit Text oder Bild ersetzt werden. Das Textfeld wird angehoben, wenn das Optionsfeld nicht markiert ist, und wird abgesenkt, wenn es gedrückt wird.

Tkinter Tutorial Auswahlknopf angehoben und abgesenkt

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

Indicatoron ist die Option, den Raido-Knopf mit kreisförmiger Lochanzeige ein- oder auszuschalten. Indicatoron=Indicator on

Bindung Tkinter Radiobutton Callback Funktion

Genauso verhält es sich mit [Tkinter Checkbutton](/de/tutorial/tkinter-tutorial/tkinter-checkbutton/#Tkinter Checkbutton Checkbutton Callback Function Binding) in der Option, wie die Button Callback Funktion eingestellt werden kann. Verwenden Sie die Option command=.

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