wxPython – 在菜单中添加子菜单

wxPython – 在菜单中添加子菜单

在这篇文章中,我们将学习如何在MenuBar上的Menuitem中添加子菜单。在此,我们使用AppendMenu()函数,而不是仅仅使用Append()。

步骤:

1.使用MenuBar()构造函数在框架中创建一个MenuBar。

2.在菜单栏中添加菜单。

3.为Menuitem创建wx.Menu。

4.使用ApendMenu()函数添加菜单。

语法:

wx.Menu.AppendMenu(self, id, subMenu, helpString)

AppendMenu()的参数。

参数 输入类型 参数描述
id int 菜单项的标识符。
item string 出现在菜单项上的字符串。
subMenu wx.Menu 一个FlatMenu的实例,要追加的子菜单。
helpString int 与该项目相关的可选帮助字符串。默认情况下,EVT_FLAT_MENU_ITEM_MOUSE_OVER事件的处理程序会在状态行显示这个字符串。

代码示例。

import wx
  
  
class Example(wx.Frame):
  
    def __init__(self, *args, **kwargs):
        super(Example, self).__init__(*args, **kwargs)
  
        self.InitUI()
  
    def InitUI(self):
  
        menubar = wx.MenuBar()
        fileMenu = wx.Menu()
  
        # submenu for menuitem
        imp = wx.Menu()
        imp.Append(wx.ID_ANY, 'SubMenu 1')
        imp.Append(wx.ID_ANY, 'SubMenu 2')
        imp.Append(wx.ID_ANY, 'SubMenu 3')
  
        # append submenu with menuitem
        fileMenu.AppendMenu(wx.ID_ANY, 'MenuItem', imp)
        menubar.Append(fileMenu, '&Menu')
        self.SetMenuBar(menubar)
  
        self.SetSize((350, 250))
        self.SetTitle('Submenu')
        self.Centre()
  
    def OnQuit(self, e):
        self.Close()
  
  
def main():
  
    app = wx.App()
    ex = Example(None)
    ex.Show()
    app.MainLoop()
  
  
if __name__ == '__main__':
    main()

输出 :

wxPython - 在菜单中添加子菜单

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程