我已经设置了一个 wxpython GUI,它有一个菜单栏和菜单栏中的一些项目。我想做的是在我的菜单栏中选择一个项目(例如文件 - 选项),当我选择“选项”时,会弹出一个对话框,我可以在其中设置不同的代码参数。类似的行为是 wx.FontDialog 和 wx.FileDialog——但是,我希望我的行为是自定义的,因为我可以将单选按钮和复选框作为可选选项。我该怎么做呢?
我的代码片段是:
这是我设置部分主应用程序和 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 菜单这样的弹出菜单。任何帮助都会很棒!谢谢