关键字:wxPython 菜单栏 子菜单 弹出式菜单
wxPython中,与菜单相关的控件有菜单栏、菜单及菜单项。分别对应的类为wx.MenuBar、wx.Menu及wx.MenuItem。
wx.Menu可以用来构造菜单栏和弹出式菜单。而每个Menu包含多个menu item。menu item可以分为一般的item,check item和radio item。还有一个特殊的item叫分隔条item,在菜单上表现为一条分隔线。每个menu item都有一个与之关联的ID,通过ID来关联事件处理器。分隔条item的ID是wx.ID_SEPARATOR,它没有相关联的命令。
一、菜单栏中的菜单
让我们来仿造记事本菜单来说明如何用代码实现。
在frame的构造函数中添加菜单栏及菜单。代码如下:
import wx
# 程序主窗口类,继承自wx.Frame
class mainFram(wx.Frame):
#构造函数
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "测试", style = wx.DEFAULT_FRAME_STYLE)
self._init_UI()
self.SetBackgroundColour(wx.Colour(224, 224, 224))
self.SetSize((700, 500))
self.Center()
def _init_UI(self):
"""
在这里添加控件
"""
# 创建一个菜单
menu_file = wx.Menu()
# 创建一个菜单项
menu_item_new = wx.MenuItem(menu_file, wx.ID_ANY, "新建\tCtrl+N", "