Menü erstellen, bzw. seitlich erweitern

Fragen zu Tkinter.
Antworten
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Donnerstag 5. Juni 2003, 15:03

Hallo, ich habe mir ein Pulldown-Menü geschrieben, bei dem ich nun jedoch bei dem einen oder anderen Punkt eine Erweiterung zur Seite bräuchte, wie z.B. bei Word unter dem Menüpunkt "Einfügen" - "Grafik".
Wie läßt sich das (falls überhaupt) realisieren (evtl. beispielhaft für den Menüpunkt "Drucken")?

Code: Alles auswählen

from Tkinter import *
menuFrame = Frame()
menuLeiste=Menu(menuFrame, font=hmFont, activebackground=col_a_bg, \
                        activeforeground=col_a_fg, bg=col_p_bg, fg=col_p_fg, \
                        relief=GROOVE)
 root.config(menu=menuLeiste)     #Menü anzeigen

menu1=Menu(menuLeiste, font=hmFont, activebackground=col_a_bg, \
                      activeforeground=col_a_fg, bg=col_um_bg, fg=col_um_fg, \
                      relief=GROOVE, tearoff=0)
menuLeiste.add_cascade(label=_('Datei'), underline=0, menu=menu1)
menu1.add_command(label=_('Neu'), font=umFont, underline=0, \
                             command=callback)
menu1.add_command(label=_('Öffnen'), font=umFont, underline=1, \
                             command=callback)
menu1.add_separator()
menu1.add_command(label=_('Drucken'), font=umFont, underline=0, \
                             command=callback)
menu1.add_separator()
menu1.add_command(label=_('Beenden'), font=umFont, underline=0, \
                             command=exit_app)
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Freitag 6. Juni 2003, 09:33

Hallo!
Prinzipiell müsste das so gehen:
...
menu1=Menu(...)
...
menuDruck=Menu(menu1, ... )
menuDruck.add_command( ... )
menuDruck.add_command( ... )
...
menu1.add_cascade(label=_('Drucken'), menu=menuDruck)
...

Jan
Gast

Freitag 6. Juni 2003, 13:07

nicht nur prinzipiell, auch de facto :lol: Klasse!

Allerdings bin ich mit dem Verhalten noch überhaupt nicht zufrieden:
  • - das Untermenü öffnet sich beim Überfahren des korrespondierenden Hauptmenüpunktes mit der Maus nicht von alleine
    - nach einem Klick zum Öffnen schließt es sich nicht mehr
    - beim Überfahren mit der Tastatur wird das Untermenü geöffnet, aber auch gleich aktiviert. Dies sollte nicht sein, sondern dass man ganz normal im Hauptmenu weitergehen kann.
    - Zusammengefaßt: Das Verhalten sollte vgl. mit M$ Office-Menüs sein!!!
Leider scheint ein " .bind(<...>, ...) " auf Menüs und Menüpunkte nicht möglich zu sein. Oder gibt es da eine (andere) Möglichkeit?
lbuega
User
Beiträge: 75
Registriert: Dienstag 15. April 2003, 08:51
Wohnort: Weissach

Freitag 6. Juni 2003, 14:26

Muß noch ergänzen,dass ich auf nem UNIX arbeite. Möglicherweise tritt dieses Verhalten nur da auf!?! Hab nämlich festgestellt, dass dieses Verhalten bei dem Netscape den ich unter UNIX verwende genauso ist.

Trotzdem wäre es schön wenn man dies steuern/ändern könnte.
Antworten