wxPython 菜单

大多数桌面应用程序都有窗口菜单。根据操作系统,它们可能看起来不同。

wxPython 将使每个桌面应用程序看起来像本机应用程序。如果你希望在每个平台上使用相同的外观,请考虑使用其他 GUI 框架,比如TkinterPyQt5

wxPython 应用程序中的菜单

wxPython 菜单

下面的代码将在 wxPython 窗口中创建一个菜单栏:

#!/usr/bin/python
 
import wx
 
app = wx.App()
 
frame = wx.Frame(None, -1, 'win.py')
frame.SetDimensions(0,0,200,50)
 
# Setting up the menu.
filemenu= wx.Menu()
filemenu.Append(101, "Open", "Open")
filemenu.Append(102, "Save", "Save")
filemenu.Append(wx.ID_ABOUT, "About","About")
filemenu.Append(wx.ID_EXIT,"Exit","Close")
 
# Creating the menubar.
menuBar = wx.MenuBar()
menuBar.Append(filemenu,"File") # Adding the "filemenu" to the MenuBar
frame.SetMenuBar(menuBar)  # Adding the MenuBar to the Frame content.
frame.Show()
 
app.MainLoop()

wxPython 中的菜单很简单,就是 wx.MenuBar()

单独这个菜单不会做任何事情,它需要有几个子菜单,如文件菜单。可以使用 wx.Menu() 创建子菜单,而 wx.Menu() 又包含多个项目。

最后,我们将框架的菜单栏设置为我们创建的菜单栏。

wxPython 有一些默认的 id,比如 wx.ID_ABOUTwx.ID_EXIT,它们都只是整数。你可以像我们一样来定义自己的 ID(101,102)。