Welcome folks today in this blog post we will be disable menu bar item using button dynamically
in gui desktop app in python. All the full source code of the application is given below.
Get Started
In order to get started you need to install the below library using the pip
command as shown below
pip install wxpython
After installing this library you need to make an app.py
file and copy paste the following code
app.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
import wx ID_SIMPLE = wx.NewId() class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, "Enable/Disable 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.Bind(wx.EVT_MENU, self.OnSimple, 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): menubar = self.GetMenuBar() enabled = menubar.IsEnabled(ID_SIMPLE) menubar.Enable(ID_SIMPLE, not enabled) self.btn.SetLabel( (enabled and "Enable" or "Disable") + " Item") if __name__ == "__main__": app = wx.PySimpleApp() frame = MyFrame() frame.Show() app.MainLoop() |
If you execute the above python script
by typing the below command
python app.py