0

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

4

2 回答 2

2

确实,您有方法将菜单放置到您想要的位置:

  • 附加(菜单,标题)

将菜单添加到 MenuBar 的末尾(即放在最右边的元素)。title 是新菜单的标题。如果成功返回 True,否则 - False。

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

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

  • 删除(位置)

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

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

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

对不起我的英语不好)

于 2012-10-14T16:20:01.753 回答
0

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

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')

祝你好运,迈克

于 2012-10-14T14:15:55.367 回答