i

Verarbeitung von Ereignissen

Zielsetzung

Im Abschnitt Anklicken von Schaltflächen wurde die Verarbeitung von Ereignissen bereits benutzt. In diesem Abschnitt wurde eine grafische Benutzeroberfläche für einen Zähler betrachtet, die wie folgt auf Ereignisse reagiert.

Anwendungsfenster
  • Wenn der Benutzer die Schaltfläche mit den Beschriftungen "weiter" anklickt, dann wird der Zähler um 1 hochgezählt.
  • Wenn der Benutzer die Schaltfläche mit den Beschriftungen "zurück" anklickt, dann wird der Zähler um 1 runtergezählt - allerdings nur, wenn der Zählerstand hierdurch nicht unter 0 gerät.
  • Wenn der Benutzer die Schaltfläche mit den Beschriftungen "Null" anklickt, dann wird der Zähler auf 0 gesetzt.

Hier noch eimal das Programm zur Implementierung der grafischen Benutzeroberfläche.

from tkinter import *

# Ereignisbehandlung
def buttonWeiterClick():
    stand = int(labelZahl.cget('text'))
    stand = stand + 1
    labelZahl.config(text=str(stand))

def buttonZurueckClick():
    stand = int(labelZahl.cget('text'))
    if stand > 0:
        stand = stand - 1
        labelZahl.config(text=str(stand))

def buttonNullClick():
    stand = 0
    labelZahl.config(text=str(stand))

# GUI-Objekte
# Fenster
tkFenster = Tk()
tkFenster.title('Zähler')
tkFenster.geometry('170x125')
# Label
labelZahl = Label(master=tkFenster, text='0', bg='gray', font=('Arial', 36))
labelZahl.place(x=5, y=5, width=160, height=80)
# Button
buttonWeiter = Button(master=tkFenster, text='weiter', bg='#D5E88F', command=buttonWeiterClick)
buttonWeiter.place(x=115, y=90, width=50, height=30)
buttonZurueck = Button(master=tkFenster, text='zurück', bg='#FFCFC9', command=buttonZurueckClick)
buttonZurueck.place(x=5, y=90, width=50, height=30)
buttonNull = Button(master=tkFenster, text='Null', bg='#FBD975', command=buttonNullClick)
buttonNull.place(x=60, y=90, width=50, height=30)
# Aktivierung des Fensters
tkFenster.mainloop()

Im Programm wird durch die Parameterübergabe command=buttonWeiterClick bei der Erzeugung des Objekts buttonWeiter festgelegt, dass die Prozedur buttonWeiterClick ausgeführt wird, wenn das Ereignis "Schaltfläche mit der Aufschrift weiter wird angeklickt" eintritt.

Wir werden im Folgenden eine etwas allgemeinere und flexiblere Implementierung der Ereignisverarbeitung betrachten.

Suche

v
9.1.4.9
www.inf-schule.de/software/gui/entwicklung_tkinter/ereignisverarbeitung
www.inf-schule.de/9.1.4.9
www.inf-schule.de/@/page/29X9POtNWq3bet3l

Rückmeldung geben