在tkinter中制作多个菜单

时间:2015-03-25 04:12:08

标签: python class user-interface python-3.x tkinter

尝试搜索此内容并找不到合适的答案。我知道我们可以执行以下操作来创建tkinter中根窗口的菜单

menu = Menu(root)
some_menu = Menu(menu, ....)
some_menu.add_command(label = some text, command = some command) 
....
menu.add_cascade(label = some title, menu = some_menu)
root.config(menu = menu)

现在假设我们将some_menu传递给root配置,然后它会在tkinter窗口的顶部栏水平显示级联菜单的选项/子项,菜单出现,我们可以通过创建sub来制作多个菜单这些选项的菜单,但这似乎有点复杂。

那说有没有办法在彼此旁边创建多个菜单?我尝试创建一个新菜单,只是将新菜单传递给root.config

another_menu = Menu(root)
options = Menu(another_menu, ....)
options.add_command(label = some label, command = some command)
another_menu.add_cascade(label = some text, menu = options)
root.config(menu = another_menu)

然而,只要添加了这个程序/脚本就会卡住并且不运行我假设某种内存泄漏?哪个有意义,但我没有看到另一种方法。

1 个答案:

答案 0 :(得分:2)

您只能在应用程序的顶部只有一个菜单栏。这个菜单栏上可以有多个儿童("级联")菜单,可以放在屏幕上。您也可以添加命令,但从可用性角度来看这是一个坏主意。