wx MenuBar的菜单元素是否有位置?

时间:2012-10-14 02:02:04

标签: python wxpython

是否可以控制wx.MenuBar()中元素的位置?我在文档中找不到它,但它似乎应该是一个选项。默认情况下,fileviewedit等菜单元素位于最左侧位置,然后每个附加元素都向右延伸。我有一个非常简单的gui,因此只有一个名为help的菜单元素。我想定位RIGHT,而不是默认LEFT

2 个答案:

答案 0 :(得分:2)

你真的有办法把菜单放到你想要的位置:

  • 追加(菜单,标题)

将菜单添加到MenuBar的末尾(即将其置于最右边的元素)。 title是新菜单的标题。如果succed返回True,否则返回False。

  • 插入(位置,菜单,标题)

在pos位置插入菜单(在此之后GetMenu(pos)== menu将为True)。之后的所有菜单都将向右移动。 pos = 0是firts(左)位置。如果pos = GetMenuCount(),结果将类似于使用Append()。 title是新菜单的标题。如果succed返回True,否则返回False。

  • 删除(POS)

从位置pos移除菜单,之后所有菜单都移到左侧。返回已删除的菜单。

  • 替换(位置,菜单,标题)

替换位置pos中的菜单,不影响MenuBar中的其他菜单。返回该位置的菜单。

对不起我的英文)

答案 1 :(得分:0)

wx.MenuBar中菜单元素的顺序基于它们附加到菜单栏的顺序。在下面的代码中,“Utils”将出现在“File”的左侧(最后2行是键)。

menubar = wx.MenuBar()
file1 = wx.Menu()
file1.Append(81, 'Edit Accounts', '')
file1.AppendSeparator()
file1.Append(88, 'Set Link Duration for selected items', '')        
file1.AppendSeparator()
file1.Append(82, '&Quit', 'Goodbye!')

util1 = wx.Menu()
util1.Append(85, 'View Log File', 'View Log File')
util1.Append(86, 'Clear Old Log files', 'Clear old log files')
util1.Append(87, 'Open APPDATA folder', 'Open APPDATA folder')
util1.AppendSeparator()

util1.Append(83, 'Update Sizes for Selected Folders',
                'Update sizes for the selected folders in sqlite DB')
util1.Append(84, 'Zap sqlite DB',
                'Clean out sqlite DB (needs to be done occasionally)')

menubar.Append(util1, '&Utils')
menubar.Append(file1, '&File')
祝你好运, 麦克