Mega Code Archive

 
Categories / Python Tutorial / Wxpython
 

Create popup menu

import wx class MyFrame(wx.Frame):     def __init__(self):         wx.Frame.__init__(self, None, -1,"Popup Menu Example")         self.panel = p = wx.Panel(self)         menu = wx.Menu()         exit = menu.Append(-1, "Exit")         self.Bind(wx.EVT_MENU, self.OnExit, exit)                            menuBar = wx.MenuBar()         menuBar.Append(menu, "Menu")         self.SetMenuBar(menuBar)         wx.StaticText(p, -1,"Right-click on the panel to show a popup menu",(25,25))         self.popupmenu = wx.Menu()         for text in "one two three four five".split():             item = self.popupmenu.Append(-1, text)             self.Bind(wx.EVT_MENU, self.OnPopupItemSelected, item)         p.Bind(wx.EVT_CONTEXT_MENU, self.OnShowPopup)     def OnShowPopup(self, event):         pos = event.GetPosition()         pos = self.panel.ScreenToClient(pos)         self.panel.PopupMenu(self.popupmenu, pos)              def OnPopupItemSelected(self, event):         item = self.popupmenu.FindItemById(event.GetId())         text = item.GetText()         wx.MessageBox("You selected item '%s'" % text)              def OnExit(self, event):         self.Close()          app = wx.PySimpleApp() frame = MyFrame() frame.Show() app.MainLoop()