在 tkinter 中制作多个菜单

making multiple menu's in tkinter

尝试搜索此内容,但找不到合适的答案。我知道我们可以执行以下操作来在 tkinter

中创建一个到根 window 的菜单
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 传递给根配置,然后它会在菜单出现的 tkinter window 的顶部栏水平显示级联菜单的选项/子级我们可以通过创建这些选项的子菜单来以这种方式制作多个菜单,但这似乎有点令人费解。

也就是说,有没有一种方法可以创建多个彼此相邻的菜单?我尝试如上所述创建一个新菜单,然后将新菜单传递给 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)

不过,每当添加此程序/脚本时程序/脚本都会卡住,但不会 运行 我假设这是某种内存泄漏?这是有道理的,但我没有看到另一种方法来做到这一点。

应用程序顶部只能有一个菜单栏。这个菜单栏可以有尽可能多的子 ("cascade") 菜单,以适应屏幕。在某些平台上,您还可以将命令添加到顶部菜单栏,但从可用性的角度来看,这不是一个好主意。