next up previous contents index 6264666870
Next: 10. Standard Dialoge und Up: 9. Anwendungsfenster Previous: 9.3 Werkzeugleisten (Toolbars)   Contents   Index


9.4 Statuszeilen

Schliesslich haben die meisten Anwendungen eine Statuszeile am Fuss jedes Anwendungsfensters. So eine Statuszeile zu implementieren ist wirklich trivial: Sie müssen lediglich ein entsprechend konfiguriertes Label-Widget verwenden und die entsprechende text-Option reconfigurieren. Es ist sehr anzuraten, für diese Vorgänge eine eigene Klasse zu definieren, die über entsprechende set und clear-Methoden verfügt:

#File: StatusBar.py

class StatusBar(Frame): 

   def __init__(self,master):

      Frame.__init__(self,master)

      self.label=Label(self, bd=1, relief=SUNKEN, anchor=W)

      self.label.pack(fill=X) 

   def set(self, format):

       self.label.config(text=format)

       self.label.update_idletasks() 

   def clear(self):

       self.label.config(text='')

       self.label.update_idletasks()

Der Anker beim 'label'-Widget ist eine Option, die auf Himmelsrichtungen reagiert. Der Text soll also im Westen beginnen. Die Methode update_idletasks() führt die eben durchgeführte Konfiguration sofort aus. Der eigentliche Trick besteht darin, dass wir vom Frame Widget eine Vererbung vorgenommen haben und eine neue Klasse entwickelten, die eben StatusBar heisst. Jetzt können wir mit

status=StatusBar(root)

status.pack(side=BOTTOM, fill=X)

status.set('Achtung')

eine beliebige Statuszeile einrichten. Dies ist die eleganteste Methode, die sehr viel besser ist, als einfach nur ein Label ans Ende zu setzen.


next up previous contents index 6264666870
Next: 10. Standard Dialoge und Up: 9. Anwendungsfenster Previous: 9.3 Werkzeugleisten (Toolbars)   Contents   Index
Heiko Schroeder 2003-03-23