LabelFrame – Gruppieren von Steuerelementen
Besonders bei Checkbutton und Radiobutton kennt man in der Praxis das Gruppieren der Steuerelemente. Dadurch ist für den Nutzer schnell sichtbar, was zusammengehört und zwischen Optionen er sich entscheiden kann. Ergänzen wir unsere Auswahl der Hobbies durch eine Gruppierung, die wir „gruppehobby“ nennen. Wir erstellen einen Bereich mit der Benennung „gruppehobby“. Diesem Bereich werden alle Steuerelemente zugewiesen, die innerhalb der Gruppe dann ausgegeben werden sollen:
gruppehobby = tk.LabelFrame(root, text="Ihre Hobbies?")
[bild[LabelFrame – Steuerelemente gruppiert darstellen]]
Diese müssen wir dann noch den einzelnen Steuerelementen zuweisen und über pack()
ausgeben lassen. Der komplette Code:
import tkinter as tk
root = tk.Tk()
gruppehobby = tk.LabelFrame(root, text="Ihre Hobbies?")
gruppehobby.pack()
checkbox01 = tk.Checkbutton(gruppehobby)
checkbox01["text"] = "Sport treiben"
checkbox01.pack()
checkbox01var = tk.BooleanVar()
checkbox01["variable"] = checkbox01var
checkbox02 = tk.Checkbutton(gruppehobby)
checkbox02["text"] = "Lesen"
checkbox02.pack()
checkbox02var = tk.BooleanVar()
checkbox02["variable"] = checkbox02var
checkbox03 = tk.Checkbutton(gruppehobby)
checkbox03["text"] = "Filme schauen"
checkbox03.pack()
checkbox03var = tk.BooleanVar()
checkbox03["variable"] = checkbox03var
root.mainloop()
Wollen wir nun die Elemente noch sauber untereinander, können diese über anchor="w"
ausgerichtet werden:
Der komplette Quellcode in Python:
import tkinter as tk
root = tk.Tk()
gruppehobby = tk.LabelFrame(root, text="Ihre Hobbies?")
gruppehobby.pack()
checkbox01 = tk.Checkbutton(gruppehobby)
checkbox01["text"] = "Sport treiben"
checkbox01.pack(anchor="w")
checkbox01var = tk.BooleanVar()
checkbox01["variable"] = checkbox01var
checkbox02 = tk.Checkbutton(gruppehobby)
checkbox02["text"] = "Lesen"
checkbox02.pack(anchor="w")
checkbox02var = tk.BooleanVar()
checkbox02["variable"] = checkbox02var
checkbox03 = tk.Checkbutton(gruppehobby)
checkbox03["text"] = "Filme schauen"
checkbox03.pack(anchor="w")
checkbox03var = tk.BooleanVar()
checkbox03["variable"] = checkbox03var
root.mainloop()
Weitere Optionen
labelanchor = n/ne/e/se/s/sw/w/nw
Ausrichtung der Beschriftung
labelwidget
Anstelle von Beschriftung ein anderes Widget (im Bereich wo ansonsten die Beschriftung sitzen würde)