next up previous contents index 6264666870
Next: 9.4 Statuszeilen Up: 9. Anwendungsfenster Previous: 9.2 Menüs   Contents   Index


9.3 Werkzeugleisten (Toolbars)

Viele Anwendungen haben unterhalb der Menüzeile eine Werkzeugleiste, die typischerweise eine Anzahl von Buttons für gewöhnliche Funktionen wie 'open', 'print' oder 'undo' aufweisen. Um solche Buttons aufzunehmen, sollten wir ein Frame-Widget verwenden, da in diesem Fenster mehrere Widgets untergebracht werden sollen.

#File: toolbar1.py 

from Tkinter import * 

root=Tk() 

def callback():

   print 'called the callback' 

toolbar=Frame(root) 

b=Button(toolbar, text='new', width=6, command=callback)

b.pack(side=LEFT, padx=2, pady=2) 

b=Button(toolbar, text='open', width=6, command=callback)

b.pack(side=LEFT, padx=2, pady=2) 

toolbar.pack(side=TOP, fill=X) 

Das Programm dürfte selbsterklärend sein. Lediglich ein paar Worte wollen wir zum Packen verlieren. Die Buttons werden von links aneinander gesetzt und die ganze Werkzeugleiste selbst wird ganz nach oben an das Fenster gepackt.

Um die Dinge einfach zu halten, verwendet dieses Beispiel nur Text als Aufschriften. Wenn Sie ein Icon sehen wollen, muss der Photo-Image Konstruktor geladen werden, um ein kleines Icon von der Platte zu holen. Mit der image Option der Buttons wird dann das Icon dargestellt. Die folgende Abänderung des Programms

#File: toolbar1.py 

from Tkinter import * 

root=Tk() 

def callback():

   print 'called the callback' 

toolbar=Frame(root) 

image=PhotoImage(file='new.gif')

b=Button(toolbar, image=image,command=callback)

b.pack(side=LEFT, fill=BOTH) 

image2=PhotoImage(file='open.gif')

b=Button(toolbar, image=image2,command=callback)

b.pack(side=LEFT, fill=BOTH) 

toolbar.pack(side=TOP, fill=X) 

mainloop()

liefert das Bild [*]:

Figure: Menü mit Icons
\includegraphics{/home/heikos/lyx/informatik/tkinter/pmenu.eps}

Achten Sie bitte darauf, dass die Image-Formate von PhotoImage noch auf PPM, GIF und PGM (grayscale) beschränkt sind.


next up previous contents index 6264666870
Next: 9.4 Statuszeilen Up: 9. Anwendungsfenster Previous: 9.2 Menüs   Contents   Index
Heiko Schroeder 2003-03-23