Enable menu item : menu « wxPython « Python Tutorial






Enable menu item
import wx

ID_SIMPLE = wx.NewId()

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1,"UPDATE_UI Menu Example")
        p = wx.Panel(self)
        self.btn = wx.Button(p, -1, "Disable Item", (20,20))
        self.Bind(wx.EVT_BUTTON, self.OnToggleItem, self.btn)
        
        menu = wx.Menu()
        menu.Append(ID_SIMPLE, "Simple menu item")
        self.enabled = True
        self.Bind(wx.EVT_MENU, self.OnSimple, id=ID_SIMPLE)
        self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateSimple, id=ID_SIMPLE)
        
        menu.AppendSeparator()
        menu.Append(wx.ID_EXIT, "Exit")
        self.Bind(wx.EVT_MENU, self.OnExit, id=wx.ID_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 OnToggleItem(self, event):
        self.btn.SetLabel(
            (self.enabled and "Enable" or "Disable") + " Item")
        self.enabled = not self.enabled

    def OnUpdateSimple(self, event):
        event.Enable(self.enabled)
        

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