Follower

Donnerstag, 8. Februar 2018

Buttons betätigen

Damit auf der grafischen Oberfläche etwas passiert, wenn ich eine Taste bediene oder die Maus, muss man eine Funktion schreiben und dann z.B. dem Button mitteilen, wie die Funktion heißt, die aufgerufen werden soll, wenn der Button gedrückt wird. Klingt logisch.

Und schon komme ich im Buch nicht mehr mit. Da erfahre ich, wie man ein Programm beendet, das verstehe ich aber nicht.

Also zurück zum Video-Tutorial, da wird mir erklärt, wie ich dem Button sage, was er zu tun hat, wenn ich ihn anklicke.

Hier kommt es.

Zuerst sage ich ihm, was passieren soll, wenn ich ihn mit der linken Maustaste anklicke. Der Befehl heißt <button-1>, und das noch in einfachen Anführungszeichen: '<button-1'>. Eingeleitet wird er mit bind, also:
Knopf.bind('<button-1>', handleButton)

handleButton ist die Funktion, die ich noch definieren muss.

Das mache ich am Anfang.

import tkinter
i = 0
def handleButton(event):
    global i
    i = i + 1
    Rahmen['text'] = i

Fenster = tkinter.Tk()

Fenster.title("Mein Programm")

Rahmen = tkinter.Label(Fenster, text='Hallo - drück mich und ich zähle')

Knopf = tkinter.Button(Fenster, text="Drücken")

Rahmen.pack()

Knopf.pack()

Knopf.bind('<Button-1>', handleButton)

Fenster.mainloop()

Ich habe also zu Beginn die Funktion handleButton definiert (die in Klammern event stehen haben muss?) Ein Event kann eben ein Tastendruck oder ein Mausklick sein. Die Funktion, die ich programmiere, sorgt dafür, dass beim Mausklick einfach hochgezählt wird (i = i + 1). Funktioniert, aber fragt mich nicht, wieso....


Keine Kommentare:

Kommentar veröffentlichen