62. Widgets

Ein Widget ist ein (meist sichtbares) GUI-Element. In Python gehört zu jedem Widget eine Klasse. Im Beispiel verwenden wir das Widget Button, einen Knopf mit Label (das text-Argument) und einer Aktion, die ausgeführt wird, wenn der Knopf gedrückt wird (das command-Argument).

Eine Funktion, die aufgerufen wird, wenn sich an einem Widget etwas tut (Knopf gedrückt, Scrollbar gezogen, Knopf gedrückt usf.), heißt Callback – mit dem command-Argument setzt man also einen Callback

Tk hat etliche vordefinierte Widgets, unter anderem

  • Toplevel: Ein eigenes Fenster in der GUI
  • Label: Ein Stück fester Text
  • Entry: Eine Eingabezeile
  • Text: Ein einfacher Texteditor
  • Checkbutton: Ein Feld zum “anchecken”
  • PhotoImage: Ein Bild
  • Scrollbar: Eine Scrollbar eben
  • Listbox: Eine Liste mit Auswahlmöglichkeit
  • Menu: Pulldown- oder Popup-Menüs
  • Menubar: Eine Menüzeile

Daraus lassen sich z.B. durch Ableitung eigene Widgets erzeugen.

Widgets werden entweder bei der Instanzierung durch Keyword-Parameter oder nachher durch die allen Widgets gemeinsame Methode config konfiguriert (z.B. Text auf einem Button ändern).

b = Button(root, text="Press", command=bla)
b.config(text="Here")

Jedes Widget außer Toplevel und Tk hat ein Elterwidget, das als erstes Argument übergeben wird. In diesem Elterwidget wird das Widget in der Regel dargestellt.


Markus Demleitner

Copyright Notice