61. GUIs

GUI steht für Graphical User Interface – gemeint sind WIMP (Windows, Icons, Menus, Pointer). GUIs werden in der Regel unter Rückgriff auf Bibliotheken geschrieben (Toolkit, Widget Set), die schon wissen, was ein Knopf und was ein Menü ist. Das immer noch verbreitetste Toolkit für Python ist Tk.

Tk wurde ursprünglich als Ergänzung zur Skriptsprache tcl entwickelt und ist – wenigstens im Vergleich zu anderen Toolkits – relativ einfach zu programmieren.

Python unterstützt eine Vielzahl weiterer Toolkits, angefangen von Gtk (dem unter Linux wohl verbreitetsten Toolkit) über Qt (dem Toolkit hinter KDE) bis zu Exoten wie Fltk – wer Tk verstanden hat, kann sich in die anderen Toolkits meist recht schnell einarbeiten.

Alles, was zu Tk gehört, befindet sich im Modul Tkinter. Ein Programm, das auf Tkinter aufsetzt, definiert meist eine Klasse, die von Tkinter.Tk oder Tkinter.Toplevel erbt:

import Tkinter

class Beeper(Tkinter.Tk):
  def __init__(self):
    Tkinter.Tk.__init__(self)
    Tkinter.Button(self, text="Beep",
      command=self.beep).pack()
    Tkinter.Button(self, text="Quit",
      command=self.quit).pack()

  def beep(self):
    print "Beep"

if __name__=="__main__":
  b = Beeper()
  b.mainloop()

Markus Demleitner

Copyright Notice