wxPython wxPython中的Replace()函数
wx.MenuBar类中的另一个函数是Replace()函数。如果我们想从menubar中替换一个菜单,我们可以使用Replace()函数。它需要三个主要参数,即我们要替换的菜单的位置、我们要添加的菜单、新菜单的标题。
语法:
wx.MenuBar.Replace(self, pos, menu, title)
参数:
参数 | 输入类型 | 描述 |
---|---|---|
pos | int | 新菜单在菜单栏中的位置。 |
menu | wx.Menu | 要添加的菜单。 |
title | string | 要添加的菜单。 |
让我们创建一个有两个菜单项Menu_one和Menu_two的窗口。
代码:
import wx
class Example(wx.Frame):
def __init__(self, *args, **kw):
super(Example, self).__init__(*args, **kw)
# create MenuBar using MenuBar() function
menubar = wx.MenuBar()
# add menu to MenuBar
fm1 = wx.Menu()
fileitem = fm1.Append(20, "one")
fm2 = wx.Menu()
fileitem2 = fm2.Append(20, "two")
menubar.Append(fm1, '&Menu_one')
menubar.Append(fm2, '&Menu_two')
self.SetMenuBar(menubar)
self.SetSize((300, 200))
self.SetTitle('Menu Bar')
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
窗口:
现在让我们用new_Menu替换Menu_two。
替换的代码:
import wx
class Example(wx.Frame):
def __init__(self, *args, **kw):
super(Example, self).__init__(*args, **kw)
# create MenuBar using MenuBar() function
menubar = wx.MenuBar()
# add menu to MenuBar
fm1 = wx.Menu()
fileitem = fm1.Append(20, "one")
fm2 = wx.Menu()
fileitem2 = fm2.Append(21, "two")
fm3 = wx.Menu()
fileitem3 = fm3.Append(22, "new")
menubar.Append(fm1, '&Menu_one')
menubar.Append(fm2, '&Menu_two')
self.SetMenuBar(menubar)
self.SetSize((300, 200))
self.SetTitle('Menu Bar')
menubar.Replace(1, fm3, "new_Menu")
def main():
app = wx.App()
ex = Example(None)
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
输出 :