How do I insert a menu item in an existing menu.

MRAB python at
Thu Aug 27 00:12:58 CEST 2009

BlueFlash wrote:
> Idea:  Use of a RecentFileList, update element 0 with new file opened.
> Appending a menu is easy
> menu.Append(-1, "Menu Name")
> when I try to insert a new menu item
> menu.Insert(-1, position, "Menu Name")
> does not work.

The following comments are the result of a brief search of the web, so 
I'm not sure whether they're correct, but they might be worth a try.

> full code:
>     def addnew(self, position, path):
>         path = path.strip()
>         try:
>             self.filelist.index(path)     # index() throws ValueError
> if path does not exist.
>         except:
>             # ValueError, path is not in list, so add it:
>             if position >= len(self.filelist):
>                 self.filelist.append(path)
>                 item =, path)  #this does return a
> menu item
>                 self.window.Bind(wx.EVT_MENU, self.event, item)
>             else:
>                 self.filelist.insert(position, path)
>                 item =, position, path) # does
> Not return a menu item.  throws some exception.

I think it should be:

     item =, -1, path)

>                 print item
>                 #self.window.Bind(wx.EVT_MENU, self.event, item)
> How do I remove a menu item from a menu?  The RecentUsedList is eg: 4
> element long.  When opening a new file, this should be added at the
> top, and the 4th element must be dropped.

I think you need the 'Remove' method.

More information about the Python-list mailing list