Tkinter popup menu

Carl c.groner at
Thu Aug 28 02:50:19 CEST 2008

"Chuckk Hubbard" <badmuthahubbard at> 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
> -- 

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.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.

More information about the Python-list mailing list