Get selected item : menu « wxPython « Python Tutorial






Get selected item
import wx

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1,"Find Item Example")
        p = wx.Panel(self)
        self.txt = wx.TextCtrl(p, -1, "new item")
        btn = wx.Button(p, -1, "Add Menu Item")
        self.Bind(wx.EVT_BUTTON, self.OnAddItem, btn)

        sizer = wx.BoxSizer(wx.HORIZONTAL)
        sizer.Add(self.txt, 0, wx.ALL, 20)
        sizer.Add(btn, 0, wx.TOP|wx.RIGHT, 20)
        p.SetSizer(sizer)
        
        self.menu = menu = wx.Menu()
        simple = menu.Append(-1, "Simple menu item")
        menu.AppendSeparator()
        exit = menu.Append(-1, "Exit")
        self.Bind(wx.EVT_MENU, self.OnSimple, simple)
        self.Bind(wx.EVT_MENU, self.OnExit, exit)
                  
        menuBar = wx.MenuBar()
        menuBar.Append(menu, "Menu")
        self.SetMenuBar(menuBar)

       
    def OnSimple(self, event):
        wx.MessageBox("You selected the simple menu item")

    def OnExit(self, event):
        self.Close()

    def OnAddItem(self, event):
        item = self.menu.Append(-1, self.txt.GetValue())
        self.Bind(wx.EVT_MENU, self.OnNewItemSelected, item)

    def OnNewItemSelected(self, event):
        item = self.GetMenuBar().FindItemById(event.GetId())
        text = item.GetText()
        wx.MessageBox("You selected the '%s' item" % text)

app = wx.PySimpleApp()
frame = MyFrame()
frame.Show()
app.MainLoop()








19.26.menu
19.26.1.Add menu to frameAdd menu  to frame
19.26.2.Add menu to menu bar
19.26.3.Bind action to menuBind action to menu
19.26.4.Add item to menuAdd item to menu
19.26.5.Add menu itemAdd menu item
19.26.6.Add event to menu itemAdd event to menu item
19.26.7.Toggle ItemToggle Item
19.26.8.Get selected itemGet selected item
19.26.9.Add menu separatorAdd menu separator
19.26.10.Checkbox menu Item and radio button menu itemCheckbox menu Item and radio button menu item
19.26.11.Enable menu itemEnable menu item
19.26.12.Add Accelerator to menu itemAdd Accelerator to menu item