Tkinter popup menu
Carl
c.groner at gmail.com
Wed Aug 27 20:50:19 EDT 2008
"Chuckk Hubbard" <badmuthahubbard at gmail.com> writes:
> Right-click popup menu. None of the options that come from the
> cascades can be selected with the mouse. If you select a submenu with
> the mouse and then use the arrow keys and enter key to select an
> option, it works, but the menu remains on the canvas. If you click
> the option with the mouse, the menu disappears but the function
> doesn't get called.
> Can someone tell me why?
>
> -Chuckk
>
> --
> http://www.badmuthahubbard.com
Try creating the "main" popup menu before the sub-menus, and when
instantiating the sub-menus, pass the main menu as the "master"
instead of "self.myparent":
...snip code -----------------------------------------
self.canvas.bind("<Button-3>",self.popup)
self.menupopup = tk.Menu(self.myparent, tearoff=0)
self.menupopup1 = tk.Menu(self.menupopup, tearoff=0)
self.menupopup1.add_command(label="Test1", command=self.selected)
self.menupopup1.add_command(label="Test2", command=self.selected)
self.menupopup1.add_command(label="Test3", command=self.selected)
self.menupopup2 = tk.Menu(self.menupopup, tearoff=0)
self.menupopup2.add_command(label="Test1", command=self.selected)
self.menupopup2.add_command(label="Test2", command=self.selected)
self.menupopup2.add_command(label="Test3", command=self.selected)
# self.menupopup = tk.Menu(self.myparent, tearoff=0)
self.menupopup.add_cascade(label="Test1", menu=self.menupopup1)
self.menupopup.add_cascade(label="Test2", menu=self.menupopup2)
...end code changes ----------------------------------
Hope that helps.
Carl.
More information about the Python-list
mailing list