写一个OnClose函数
def OnClose(self, event):
dlg = wx.MessageDialog(self,
u"未保存的工作将丢失!",
"确认退出?", wx.OK | wx.CANCEL | wx.ICON_INFORMATION)
result = dlg.ShowModal()
dlg.Destroy()
if result == wx.ID_OK:
self.Destroy()
然后写菜单控件 bind绑定MenuItem(也就是m_exit)与self.OnClose
函数
# 菜单
menuBar = wx.MenuBar() # 创建菜单栏
exit_menu = wx.Menu() # 创建一个 菜单
m_exit = wx.MenuItem(exit_menu, id=wx.ID_CLOSE, text='&Exit\tCtrl+Q',helpString="Close window and exit program.", kind=wx.ITEM_NORMAL) # 创建菜单项
self.Bind(wx.EVT_MENU, self.OnClose, m_exit) # 绑定事件
menuBar.Append(exit_menu, "&StudentSys") # 把 菜单 添加到菜单栏
exit_menu.Append(m_exit) # 菜单项添加到菜单
这里值得注意的一点是menuBar.Append(exit_menu, "&StudentSys")
这行一定要放在exit_menu.Append(m_exit)
前面,否则有的情况下菜单项显示不了(可以通过快捷键调用)
创建菜单基本流程:
1.创建菜单栏(MenuBar)——相当于一个容器
2.创建菜单(Menu)——容器里的菜单选项卡
3.创建菜单项(MenuItem)——这个就是菜单最小的单元,相当于选项卡的下拉菜单
4.给菜单项绑定事件
5.菜单添加到菜单栏
6.菜单项添加到菜单