wxPython – Replace() function in wxPython
Another function in wx.MenuBar class is Replace()
function. If we ever want to replace a menu from menubar we use Replace() function. It takes three main parameters that is position of menu we want to replace, menu we want to add, title of new menu.
Syntax :
wx.MenuBar.Replace(self, pos, menu, title)
Parameters :
Parameter |
Input Type |
Description |
pos |
int |
The position of the new menu in the menu bar |
menu |
wx.Menu |
The menu to add. |
The title of the menu.
title |
string |
The menu to add. |
Let’s create a window with two menu items Menu_one and Menu_two.
Code :
import wx
class Example(wx.Frame):
def __init__( self , * args, * * kw):
super (Example, self ).__init__( * args, * * kw)
menubar = wx.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()
|
Window:
Now lets replace Menu_two with new_Menu.
Code for Replace :
import wx
class Example(wx.Frame):
def __init__( self , * args, * * kw):
super (Example, self ).__init__( * args, * * kw)
menubar = wx.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()
|
Output :
Last Updated :
11 May, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...