Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Auswahl mit Checkbutton

Verwendung von Checkbutton

Checkbutton werden verwendet, wenn mehrere Elemente einer vorgegebenen Liste ausgewählt werden können. Jeder Checkbutton kann - unabhängig von den anderen Checkbutton - aktiviert bzw. deaktiviert werden.

Beispiel 1: Binärdarstellung von Zahlen

Hier kann der Benutzer mit Hilfe von Checkbutton ein Bitmuster einstellen. Ausgegeben wird die zugehörige Dualzahl.

Anwendungsfenster

Mit dem folgenden Programm lässt sich diese grafische Benutzeroberfläche implementieren.

from tkinter import *
# Ereignisverarbeitung
def auswahlClick():
    dezimalzahl = wert0.get() + wert1.get() + wert2.get() + wert3.get()
    labelText.config(text=str(dezimalzahl))
# Erzeugung des Fensters
tkFenster = Tk()
tkFenster.title('Test')
tkFenster.geometry('120x150')
# Rahmen Checkbutton
frameCheckbutton = Frame(master=tkFenster, bg='#FFCFC9')
frameCheckbutton.place(x=5, y=5, width=110, height=105)
# Rahmen Ausgabe
frameAusgabe = Frame(master=tkFenster, bg='#D5E88F')
frameAusgabe.place(x=5, y=115, width=110, height=30)
# Kontrollvariablen
wert0 = IntVar()
wert1 = IntVar()
wert2 = IntVar()
wert3 = IntVar()
# Checkbutton
checkbutton0 = Checkbutton(master=frameCheckbutton, anchor='w',
                           text='2^0', offvalue=0, onvalue=1, variable=wert0,
                           command=auswahlClick)
checkbutton0.place(x=5, y=5, width=100, height=20)
checkbutton1 = Checkbutton(master=frameCheckbutton, anchor='w',
                           text='2^1', offvalue=0, onvalue=2, variable=wert1,
                           command=auswahlClick)
checkbutton1.place(x=5, y=30, width=100, height=20)
checkbutton2 = Checkbutton(master=frameCheckbutton, anchor='w',
                           text='2^2', offvalue=0, onvalue=4, variable=wert2,
                           command=auswahlClick)
checkbutton2.place(x=5, y=55, width=100, height=20)
checkbutton3 = Checkbutton(master=frameCheckbutton, anchor='w',
                           text='2^3', offvalue=0, onvalue=8, variable=wert3,
                           command=auswahlClick)
checkbutton3.place(x=5, y=80, width=100, height=20)
# Label Text
labelText = Label(master=frameAusgabe, bg='white', text=str(wert0.get()))
labelText.place(x=5, y=5, width=100, height=20)
# Aktivierung des Fensters
tkFenster.mainloop()

Eine Checkbutton-Komponente wird mit Hilfe eines Checkbutton-Objekts erstellt. Ein solches Objekt benutzt die Attribut offvalue und onvalue, um die Werte zu verwalten, die den Zuständen "deaktiviert" bzw. "aktiviert" entsprechen. Mit einer dem GUI-Objekt zugeordneten Kontrollvariablen kann man auf diese Werte zugreifen.

Beachte, dass man für jedes Checkbutton-Objekt eine Kontrollvariable benötigt.

Aufgabe 1

Teste das vorgegebene Programm.

X

Fehler melden

X

Suche