我已经设置了一个wxpython图形用户界面,菜单栏和菜单栏中的一些项目。我想要做的是在我的菜单栏中选择一个项目(例如文件 - 选项),当我选择“选项”时,弹出一个对话框,我可以在其中设置不同的参数。类似的行为将是wx.FontDialog和wx.FileDialog - 然而,我想我的自定义,我可以有单选按钮和复选框作为可选择的选项。我该怎么做呢?我的代码wxPython并在菜单栏中选择时添加选项菜单
摘录如下:
这里是我设置的主要应用和GUI(我已经布局和箱施胶剂建立在另一部分)的一部分:
class TMainForm(wx.Frame):
def __init__(self, *args, **kwds):
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.Splitter = wx.SplitterWindow(self, -1, style=wx.SP_3D|wx.SP_BORDER)
self.PlotPanel = wx.Panel(self.Splitter, -1)
self.FilePanel = wx.Panel(self.Splitter, -1)
#self.SelectionPanel = wx.Panel(self.Splitter,-1)
self.Notebook = wx.Notebook(self.FilePanel, -1)#, style=0)
self.ReportPage = wx.Panel(self.Notebook, -1)
self.FilePage = wx.Panel(self.Notebook, -1)
这里在这里我设置菜单栏的一部分:
self.MainMenu = wx.MenuBar()
self.FileMenu = wx.Menu()
self.OptimizeMenu = wx.Menu()
self.HelpMenu = wx.Menu()
self.OptimizeOptions= wx.MenuItem(self.OptimizeMenu, 302, "&Select Parameters","Select Parameters for Optimization",wx.ITEM_NORMAL)
self.OptimizeMenu.AppendItem(self.OptimizeOptions)
self.MainMenu.Append(self.OptimizeMenu, "&Optimization")
这里就是我的事件绑定到我的菜单栏中的我的“选项”部分。当我点击这个,我希望有一个弹出菜单对话框显示
self.Bind(wx.EVT_MENU, self.OnOptimizeOptions, self.OptimizeOptions)
这是在我希望的弹出菜单将被定义的功能。如果可能的话,我希望以这种格式来完成它(而不是单独的课程)。
def OnOptimizeOptions(self,event):
give me a dialog box (radio buttons, check boxes, etc)
我只显示片段,但我所有的代码都能正常工作。我的GUI和菜单栏设置正确 - 我只是不知道如何获得弹出式菜单,如wx.FileDialog和wx.FontDialog菜单。任何帮助将是伟大的!谢谢
对不起,我是很新,wxPython的。你说的子类wx.Dialog - 这是否意味着类示例(wx.Frame),然后在这个下面的所有defs?我不确定'myDlg = MyDialog(* args)'是什么意思。我不了解类的主要事情之一是使用'def main(): ex = wx.App() 示例(无) ex.MainLoop()'您可以提供更多详细信息 - 我非常有兴趣了解这一点,并正确使用它 – mcfly 2012-07-12 16:56:03
我添加了一个应该帮助你的例子 – 2012-07-12 18:45:26