Menu wxpython-菜单交互
我的菜单系统有问题-我这里有一个基本的例子(如下),显示了我遵循的一个基本菜单例子;具体来说,我的问题是如何从使用菜单选项中做出决策,我不确定如何将用户选择与菜单选项交互? 有人能给我指出正确的方向吗,或者最好能举个简单的例子——比如说从菜单输入数据并显示出来 谢谢Menu wxpython-菜单交互,menu,wxpython,Menu,Wxpython,我的菜单系统有问题-我这里有一个基本的例子(如下),显示了我遵循的一个基本菜单例子;具体来说,我的问题是如何从使用菜单选项中做出决策,我不确定如何将用户选择与菜单选项交互? 有人能给我指出正确的方向吗,或者最好能举个简单的例子——比如说从菜单输入数据并显示出来 谢谢 import wx class myFrame(wx.Frame): def __init__(self, parent, id): wx.Frame.__init__(self, parent, id,'
import wx
class myFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id,'Menu', size=(300,200))
panel = wx.Panel(self)
status = self.CreateStatusBar()
menubar = wx.MenuBar()
firstMenu = wx.Menu()
secondMenu = wx.Menu()
# create files
firstMenu.Append(wx.NewId(), 'Save Data' , 'Save data')
firstMenu.Append(wx.NewId(), 'Open Data..', 'Open a new window')
secondMenu.Append(wx.NewId(),'Configure..', 'Input Data here')
# append to menu
menubar.Append(firstMenu, 'File')
menubar.Append(secondMenu,'Options')
#
self.SetMenuBar(menubar)
if( __name__ == '__main__' ):
app = wx.PySimpleApp()
frame = myFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
您必须绑定
wx.EVT\u菜单
事件。有关更多示例,请参见wxPython演示。在你的情况下,你会这样想:
import wx
SAVE_DATA = wx.NewId()
OPEN_DATA = wx.NewId()
CONFIGURE = wx.NewId()
class myFrame(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id,'Menu', size=(300,200))
panel = wx.Panel(self)
status = self.CreateStatusBar()
menubar = wx.MenuBar()
firstMenu = wx.Menu()
secondMenu = wx.Menu()
# create files
firstMenu.Append(SAVE_DATA, 'Save Data' , 'Save data')
firstMenu.Append(OPEN_DATA, 'Open Data..', 'Open a new window')
secondMenu.Append(CONFIGURE,'Configure..', 'Input Data here')
# append to menu
menubar.Append(firstMenu, 'File')
menubar.Append(secondMenu,'Options')
#
self.SetMenuBar(menubar)
self.Bind(wx.EVT_MENU, self.SaveData, id=SAVE_DATA)
self.Bind(wx.EVT_MENU, self.OpenData, id=OPEN_DATA)
self.Bind(wx.EVT_MENU, self.Configure, id=CONFIGURE)
def SaveData(self, e):
print("Save")
def OpenData(self, e):
print("Open")
def Configure(self, e):
print("Config")
if( __name__ == '__main__' ):
app = wx.PySimpleApp()
frame = myFrame(parent=None, id=-1)
frame.Show()
app.MainLoop()
杰克,你应该开始接受有用的答案。通过单击upvote/downvote下的复选标记符号可以完成此操作。