1. Checkboxen (Checkbutton)
Eine Checkbox ist ein quadratischer Button, der entweder markiert oder nicht markiert sein kann. Sie ist nützlich, wenn du dem Benutzer die Auswahl von einer oder mehreren Optionen aus einer Liste ermöglichen möchtest.
Erstellen einer Checkbox
Um eine Checkbox zu erstellen, benutze das Widget Checkbutton. Um den Zustand der Checkbox (markiert oder nicht) zu verfolgen, wird üblicherweise eine Variable vom Typ IntVar verwendet, die den Wert 1 enthält, wenn die Checkbox markiert ist, und 0, wenn sie nicht markiert ist.
import tkinter as tk
# Funktion, um den Status der Checkbox zu überprüfen
def show_status():
print("Eingeschaltet" if var.get() == 1 else "Ausgeschaltet")
# Erstellen des Fensters
root = tk.Tk()
root.title("Beispiel mit Checkbox")
# Variable zur Speicherung des Status
var = tk.IntVar()
# Checkbox mit Bindung zur Variable var
checkbox = tk.Checkbutton(root, text="Option einschalten", variable=var, command=show_status)
checkbox.pack(pady=20)
root.mainloop()
Code-Erklärung
-
variable=var: Bindet die Checkbox an die Variablevar, die bei jeder Änderung des Checkbox-Status aktualisiert wird. - Funktion
show_status(): Gibt den aktuellen Zustand der Checkbox in der Konsole aus. Wenn die Checkbox markiert ist, wird "Eingeschaltet" ausgegeben, andernfalls "Ausgeschaltet".
Verwendung mehrerer Checkboxen
Wenn du mehrere unabhängige Optionen benötigst, kannst du mehrere Checkboxen erstellen, die jeweils an ihre eigene Variable gebunden sind.
# Variablen zur Speicherung des Status
option1 = tk.IntVar()
option2 = tk.IntVar()
# Checkboxen
check1 = tk.Checkbutton(root, text="Option 1", variable=option1)
check2 = tk.Checkbutton(root, text="Option 2", variable=option2)
check1.pack()
check2.pack()
2. Radiobuttons (Radiobutton)
Radiobuttons sind ein Satz von runden Buttons, von denen der Benutzer nur einen auswählen kann. Sie sind nützlich, wenn du dem Benutzer die Auswahl einer Option aus mehreren ermöglichen möchtest.
Erstellen von Radiobuttons
Um Radiobuttons zu erstellen, benutze das Widget Radiobutton. Damit Radiobuttons miteinander verknüpft sind, müssen sie alle an dieselbe Variable (IntVar oder StringVar) gebunden sein.
# Funktion zur Anzeige der ausgewählten Option
def show_choice():
print(f"Ausgewählte Option: {choice.get()}")
# Variable zur Verfolgung der Auswahl
choice = tk.IntVar()
# Radiobuttons
radio1 = tk.Radiobutton(root, text="Option 1", variable=choice, value=1, command=show_choice)
radio2 = tk.Radiobutton(root, text="Option 2", variable=choice, value=2, command=show_choice)
radio3 = tk.Radiobutton(root, text="Option 3", variable=choice, value=3, command=show_choice)
radio1.pack()
radio2.pack()
radio3.pack()
Code-Erklärung
-
variable=choice: Bindet alle Radiobuttons an die Variablechoice, um sie miteinander zu verknüpfen. -
value: Definiert den Wert, den die Variablechoiceerhält, wenn der Benutzer diesen Radiobutton auswählt. - Funktion
show_choice(): Zeigt die ausgewählte Option in der Konsole an.
Radiobuttons mit Textwerten
Du kannst Radiobuttons auch an eine Variable vom Typ StringVar binden, um Textwerte zu verwenden.
# Variable für Textauswahl
color_choice = tk.StringVar()
# Radiobuttons mit Textwerten
radio_red = tk.Radiobutton(root, text="Rot", variable=color_choice, value="Rot")
radio_blue = tk.Radiobutton(root, text="Blau", variable=color_choice, value="Blau")
radio_green = tk.Radiobutton(root, text="Grün", variable=color_choice, value="Grün")
radio_red.pack()
radio_blue.pack()
radio_green.pack()
GO TO FULL VERSION