64. Eventorientiertes Programmieren

Ein normales Programm ruft Funktionen in vorgegebener Reihenfolge auf. Für GUI-Programme ist das nicht gut – BenutzerInnen können zu jeder Zeit irgendwelche Menüeinträge anklicken oder Knöpfe drücken oder den Fenster-zu-Knopf drücken.

Stattdessen: Eventorientierte Programmierung.

In GUIs der ersten Generation lief im Programm ein „Event Loop”, der von einer Systemfunktion gesagt bekommen hat, ob es irgendwo einen Mausklick gab oder einen Tastendruck oder ob etwas neu gemalt werden musste.

GUIs der zweiten Generation haben den Event Loop schon eingebaut – man sagt ihnen nur noch, was passieren soll, wenn ein ein Menüeintrag gewählt ist, irgendwas neu gemalt werden soll oder sich das Programm beenden soll.

Tk ist ein Toolkit der zweiten Generation.

Struktur eines Tkinter-Programms

  1. Ein Widget der (Ober-) Klasse Tkinter.Tk instanzieren, das Hauptfenster
  2. Widgets des Programms erzeugen und dem Geometriemanager des Hauptfensters oder eines seiner Kinder unterstellen und/oder
  3. Weitere Widgets der (Ober-) Klasse Tkinter.Toplevel erzeugen (weitere Fenster der Applikation)
  4. Die mainloop-Methode des Hauptfensters aufrufen

Die mainloop-Methode sorgt dafür, dass die Callbacks aufgerufen werden und kehrt erst zurück, wenn die quit-Methode des Widgets aufgerufen wird.


Markus Demleitner

Copyright Notice