1菜单栏: 1。1效果图 1。2代码:菜单栏和水平一行菜单的设置importwxclassMyFrame(wx。Frame):definit(self):窗口名称wx。Frame。init(self,None,1,菜单menu学习1)第1步:调出菜单栏,实例化menuBarwx。MenuBar()第2步:创建菜单栏上的菜单项目21:创建一个开始的菜单beginwx。Menu()将开始菜单添加到菜单栏上menuBar。Append(begin,开始)22:创建一个编辑的菜单editwx。Menu()将编辑菜单添加到菜单栏上menuBar。Append(edit,编辑)23:创建一个关于的菜单aboutwx。Menu()将关于菜单添加到菜单栏上menuBar。Append(about,关于)挂在菜单self。SetMenuBar(menuBar)ifnamemain:appwx。App()frameMyFrame()frame。Show()app。MainLoop() 2子菜单: 2。1效果图 2。2代码:下拉菜单:二级和三级菜单设置importwxclassMyFrame(wx。Frame):definit(self):wx。Frame。init(self,None,1,菜单menu学习2)第1步:调出菜单栏,实例化menuBarwx。MenuBar()第2步:创建菜单栏上的菜单项目21:创建一个开始的菜单beginwx。Menu()将开始菜单添加到菜单栏上menuBar。Append(begin,开始)二级菜单设置211:在开始菜单下的下拉菜单:添加一个新建菜单newbegin。Append(1,新建,新建一个文件)begin。AppendSeparator()分隔符211:在开始菜单下的下拉菜单:添加一个退出菜单exitbegin。Append(1,退出,退出窗口)22:创建一个编辑的菜单editwx。Menu()将编辑菜单添加到菜单栏上menuBar。Append(edit,编辑)编辑的二级菜单编辑的二级菜单:剪切jianqieedit。Append(1,剪切,内容剪切)编辑的二级菜单:复制fuzhiedit。Append(1,复制,内容复制)编辑的二级菜单:粘贴zhantieedit。Append(1,粘贴,内容粘贴)编辑的二级菜单:撤销chexiaoedit。Append(1,撤销,撤销操作)23:创建一个关于的菜单aboutwx。Menu()将关于菜单添加到菜单栏上menuBar。Append(about,关于)二级菜单设置231:在开始菜单下的下拉菜单:添加一个更新菜单renewabout。Append(1,更新,更新软件)about。AppendSeparator()分隔符232:在开始菜单下的下拉菜单:添加一个版本菜单vesionabout。Append(1,版本,该软件的版本信息)233:在开始菜单下的下拉菜单:添加一个个人信息菜单meselfabout。Append(1,个人信息,个人信息)如果要在个人信息的下拉菜单,再建下拉菜单,这样就会出错meselfabout。Append(1,个人信息,个人信息)注释点新建一个个人信息菜单,实例化meselfwx。Menu()将个人信息菜单,作为亚菜单(子菜单),添加到关于about菜单上about。AppendSubMenu(meself,个人信息)注意数字:100200300,只是区分子菜单,防止搞混也可以123addresswx。MenuItem(meself,1,text地址)meself。Append(address)xueliwx。MenuItem(meself,2,text学历)meself。Append(xueli)agewx。MenuItem(meself,3,text年龄)meself。Append(age)挂在菜单self。SetMenuBar(menuBar)ifnamemain:appwx。App()frameMyFrame()frame。Show()app。MainLoop() 3快捷键和类型: 3。1效果图 3。2代码:菜单快捷键设置和类型importwxclassMyFrame(wx。Frame):definit(self):wx。Frame。init(self,None,1,菜单menu学习3)第1步:调出菜单栏,实例化menuBarwx。MenuBar()第2步:创建菜单栏上的菜单项目21:创建一个开始的菜单beginwx。Menu()将开始菜单添加到菜单栏上menuBar。Append(begin,开始)二级菜单设置211:在开始菜单下的下拉菜单:添加一个新建菜单newbegin。Append(1,新建CtrlN,新建一个文件)begin。AppendSeparator()分隔符211:在开始菜单下的下拉菜单:添加一个退出菜单exitbegin。Append(1,退出CtrlE,退出窗口)22:创建一个编辑的菜单editwx。Menu()将编辑菜单添加到菜单栏上menuBar。Append(edit,编辑)编辑的二级菜单编辑的二级菜单:剪切jianqieedit。Append(1,剪切CtrlS,内容剪切)编辑的二级菜单:复制fuzhiedit。Append(1,复制CtrlC,内容复制)编辑的二级菜单:粘贴zhantieedit。Append(1,粘贴CtrlP,内容粘贴)编辑的二级菜单:撤销chexiaoedit。Append(1,撤销CtrlR,撤销操作)23:创建一个关于的菜单aboutwx。Menu()将关于菜单添加到菜单栏上menuBar。Append(about,关于)二级菜单设置231:在开始菜单下的下拉菜单:添加一个更新菜单renewabout。Append(1,更新CtrlP,更新软件)about。AppendSeparator()分隔符232:在开始菜单下的下拉菜单:添加一个版本菜单vesionabout。Append(1,版本CtrlV,该软件的版本信息)233:在开始菜单下的下拉菜单:添加一个个人信息菜单新建一个个人信息菜单,实例化meselfwx。Menu()将个人信息菜单,作为亚菜单(子菜单),添加到关于about菜单上about。AppendSubMenu(meself,个人信息)注意数字:100200300,只是区分子菜单,防止搞混也可以123addresswx。MenuItem(meself,1,text地址,kindwx。ITEMNORMAL)meself。Append(address)xueliwx。MenuItem(meself,2,text学历,kindwx。ITEMNORMAL)meself。Append(xueli)agewx。MenuItem(meself,3,text年龄,kindwx。ITEMNORMAL)meself。Append(age)挂在菜单self。SetMenuBar(menuBar)ifnamemain:appwx。App()frameMyFrame()frame。Show()app。MainLoop() 4菜单栏的功能定义和弹出框,显示状态栏和设置 4。1效果图: 4。2代码:菜单的功能定义和弹出框显示状态栏和设置importwxclassMyFrame(wx。Frame):definit(self):wx。Frame。init(self,None,1,菜单menu学习4)第1步:调出菜单栏,实例化menuBarwx。MenuBar()第2步:创建菜单栏上的菜单项目21:创建一个开始的菜单beginwx。Menu()将开始菜单添加到菜单栏上menuBar。Append(begin,开始)二级菜单设置211:在开始菜单下的下拉菜单:添加一个新建菜单newbegin。Append(1,新建CtrlN,新建一个文件)begin。AppendSeparator()分隔符211:在开始菜单下的下拉菜单:添加一个退出菜单exitbegin。Append(1,退出CtrlE,退出窗口)二级菜单的功能绑定self。Bind(wx。EVTMENU,self。OnNew,new)self。Bind(wx。EVTMENU,self。OnExit,exit)22:创建一个编辑的菜单editwx。Menu()将编辑菜单添加到菜单栏上menuBar。Append(edit,编辑)编辑的二级菜单编辑的二级菜单:剪切jianqieedit。Append(1,剪切CtrlS,内容剪切)编辑的二级菜单:复制fuzhiedit。Append(1,复制CtrlC,内容复制)编辑的二级菜单:粘贴zhantieedit。Append(1,粘贴CtrlP,内容粘贴)编辑的二级菜单:撤销chexiaoedit。Append(1,撤销CtrlR,撤销操作)23:创建一个关于的菜单aboutwx。Menu()将关于菜单添加到菜单栏上menuBar。Append(about,关于)二级菜单设置231:在开始菜单下的下拉菜单:添加一个更新菜单renewabout。Append(1,更新CtrlP,更新软件)about。AppendSeparator()分隔符232:在开始菜单下的下拉菜单:添加一个版本菜单vesionabout。Append(1,版本CtrlV,该软件的版本信息)233:在开始菜单下的下拉菜单:添加一个个人信息菜单新建一个个人信息菜单,实例化meselfwx。Menu()将个人信息菜单,作为亚菜单(子菜单),添加到关于about菜单上about。AppendSubMenu(meself,个人信息)注意数字:100200300,只是区分子菜单,防止搞混也可以123addresswx。MenuItem(meself,1,text地址,kindwx。ITEMNORMAL)meself。Append(address)xueliwx。MenuItem(meself,2,text学历,kindwx。ITEMNORMAL)meself。Append(xueli)agewx。MenuItem(meself,3,text年龄,kindwx。ITEMNORMAL)meself。Append(age)挂在菜单self。SetMenuBar(menuBar)显示状态栏self。CreateStatusBar()显示状态栏的初始文字self。SetStatusText(状态栏)注释掉的话,初始状态栏的文字就是空的弹出对话框defOnNew(self,event):wx。MessageBox(新建一个新的文件,这是一个弹出框)系统退出defOnExit(self,event):self。Close()ifnamemain:appwx。App()frameMyFrame()frame。Show()app。MainLoop() 5菜单类型kind 5。1效果图 5。2代码:kindwx。ITEMRADIO,前面是圆点默认kindwx。ITEMNORMAL也可以去除addresswx。MenuItem(meself,1,text地址,kindwx。ITEMNORMAL)addresswx。MenuItem(meself,1,text地址) 6右键单击弹出菜单 6。1效果图 6。2代码:右键单击菜单importwx右键菜单设置classMyPopupMenu(wx。Menu):definit(self,parent):super(MyPopupMenu,self)。init()self。parentparent右键菜单项目:最小化mmiwx。MenuItem(self,1,MiniSize)self。Append(mmi)self。Bind(wx。EVTMENU,self。OnMinimize,mmi)右键菜单项目:关闭cmiwx。MenuItem(self,1,Close)self。Append(cmi)self。Bind(wx。EVTMENU,self。OnClose,cmi)最小化defOnMinimize(self,e):self。parent。Iconize()关闭defOnClose(self,e):self。parent。Close()classMyFrame(wx。Frame):definit(self):wx。Frame。init(self,None,1,菜单menu学习6)第1步:调出菜单栏,实例化menuBarwx。MenuBar()第2步:创建菜单栏上的菜单项目21:创建一个开始的菜单beginwx。Menu()将开始菜单添加到菜单栏上menuBar。Append(begin,开始)二级菜单设置211:在开始菜单下的下拉菜单:添加一个新建菜单newbegin。Append(1,新建CtrlN,新建一个文件)211:在开始菜单下的下拉菜单:添加一个退出菜单exitbegin。Append(1,退出CtrlE,退出窗口)二级菜单的功能绑定self。Bind(wx。EVTMENU,self。OnNew,new)self。Bind(wx。EVTMENU,self。OnExit,exit)22:创建一个编辑的菜单editwx。Menu()将编辑菜单添加到菜单栏上menuBar。Append(edit,编辑)编辑的二级菜单编辑的二级菜单:剪切jianqieedit。Append(1,剪切CtrlS,内容剪切,kindwx。ITEMRADIO)编辑的二级菜单:复制fuzhiedit。Append(1,复制CtrlC,内容复制)编辑的二级菜单:粘贴zhantieedit。Append(1,粘贴CtrlP,内容粘贴)编辑的二级菜单:撤销chexiaoedit。Append(1,撤销CtrlR,撤销操作)23:创建一个关于的菜单aboutwx。Menu()将关于菜单添加到菜单栏上menuBar。Append(about,关于)二级菜单设置231:在开始菜单下的下拉菜单:添加一个更新菜单renewabout。Append(1,更新CtrlP,更新软件)232:在开始菜单下的下拉菜单:添加一个版本菜单vesionabout。Append(1,版本CtrlV,该软件的版本信息)233:在开始菜单下的下拉菜单:添加一个个人信息菜单新建一个个人信息菜单,实例化meselfwx。Menu()将个人信息菜单,作为亚菜单(子菜单),添加到关于about菜单上about。AppendSubMenu(meself,个人信息)addresswx。MenuItem(meself,1,text地址)meself。Append(address)xueliwx。MenuItem(meself,2,text学历,kindwx。ITEMNORMAL)meself。Append(xueli)agewx。MenuItem(meself,3,text年龄,kindwx。ITEMNORMAL)meself。Append(age)挂在菜单self。SetMenuBar(menuBar)显示状态栏self。CreateStatusBar()显示状态栏的初始文字self。SetStatusText(状态栏)注释掉的话,初始状态栏的文字就是空的绑定右键菜单,调出函数self。Bind(wx。EVTRIGHTDOWN,self。OnRightDown)弹出对话框defOnNew(self,event):wx。MessageBox(新建一个新的文件,这是一个弹出框)系统退出defOnExit(self,event):self。Close()右键菜单defOnRightDown(self,e):self。PopupMenu(MyPopupMenu(self),e。GetPosition())ifnamemain:appwx。App()frameMyFrame()frame。Show()app。MainLoop() wxpython的菜单设置基本完成。 可能会有菜单的图标设置,这个本机是deepinlinux操作系统,我失败了,就不放上上面了,其实很简单。