Tkinter Tutorial - Radiobutton
- Tkinter Radiobutton Grundlegendes Beispiel
- Tkinter Radiobutton - Wert holen
- Tkinter Radiobutton Indikatortyp ändern
- Bindung Tkinter Radiobutton Callback Funktion
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
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.
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 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.
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=
.
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