Checkbutton/Checkbox
Im Gegensatz zum Radiobutton kann jeder Checkbutton einen eigenständigen Status haben, wobei es als Status angeklickt und nicht angeklickt, sprich aktiv oder deaktiviert gibt.
Im Folgenden kann der Befragte über Checkbuttons seine Hobbies auswählen:
[bild[Auswahl von Hobbies]]Unseren Chechbutton erhalten wir über folgende 3 Zeilen:
checkbox01 = tk.Checkbutton(root)
checkbox01["text"] = "Sport treiben"
checkbox01.pack()
Wollen wir den Wert setzen bzw. anfragen, müssen wir einen Variablennamen an den Checkbutton „binden“:
checkbox01 = tk.Checkbutton(root)
checkbox01["text"] = "Sport treiben"
checkbox01.pack()
checkbox01var = tk.BooleanVar()
checkbox01["variable"] = checkbox01var
Das Abfragen des Status erfolgt wie bereits bei den anderen Widgets über get()
. Als Rückgabewert erhalten wir „1“ für „angeklickt“ und „0“ für „nicht angeklickt“.
print(checkbox01var.get())
Wollen wir den Status ändern, können wir über set()
diesen entsprechend setzen:
checkbox01var.set(True)
Und hier der komplette Code:
import tkinter as tk
root = tk.Tk()
def ausgabe():
print(checkbox01var.get())
aktuell_ausgewaehlt = checkbox01var.get()
textausgabe = tk.Label(root, text=aktuell_ausgewaehlt, bg="orange")
textausgabe.pack()
checkbox01 = tk.Checkbutton(root)
checkbox01["text"] = "Sport treiben"
checkbox01.pack()
checkbox01var = tk.BooleanVar()
checkbox01var.set(True)
checkbox01["variable"] = checkbox01var
checkbox02 = tk.Checkbutton(root)
checkbox02["text"] = "Lesen"
checkbox02.pack()
checkbox02var = tk.BooleanVar()
checkbox02["variable"] = checkbox02var
checkbox03 = tk.Checkbutton(root)
checkbox03["text"] = "Filme schauen"
checkbox03.pack()
checkbox03var = tk.BooleanVar()
checkbox03["variable"] = checkbox03var
schaltf1 = tk.Button(root, text="Aktion durchführen", command= ausgabe)
schaltf1.pack()
root.mainloop()
Weitere Möglichkeiten bei Checkbutton
indicatoron (Bool)
offvalue
onvalue
checkbox01 = tk.Checkbutton(root, indicatoron=False, onvalue="Ja", offvalue="Nein")
checkbox01["text"] = "Sport treiben"
checkbox01.pack()
checkbox01var = tk.StringVar()
Mögliche Attribute:
activebackground, activeforeground, anchor, background, bd, bg, bor- derwidth, command, fg, foreground, height, justify, overrelief, padx, pady, relief, state, takefocus, text, textvariable, width