【问题标题】:making multiple menu's in tkinter在 tkinter 中制作多个菜单
【发布时间】:2015-05-28 15:08:29
【问题描述】:

尝试搜索此内容,但找不到合适的答案。我知道我们可以执行以下操作在 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 传递给根配置,然后它将在菜单出现的 tkinter 窗口的顶部栏上水平显示级联菜单的选项/子项,我们可以通过创建子菜单以这种方式制作多个菜单这些选项的菜单,但这似乎有点令人费解。

话虽如此,有没有办法在彼此旁边创建多个菜单?我尝试像上面一样创建一个新菜单并将新菜单传递给 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)

然而,每当添加它并且不运行时,程序/脚本就会卡住我假设这是某种内存泄漏?这是有道理的,但我没有看到其他方法。

【问题讨论】:

  • 您要创建多个菜单bar吗?你能写出最小的完整程序来说明程序“卡住”吗?这不是由于某种内存泄漏,而是由于没有看到实际代码,因此无法从您的描述中猜出。
  • 是的,就像上面的第一个代码块一样,在菜单栏中彼此并排创建其他菜单,我不知道如何编写比提供的更小的代码示例,这是我可以提供的最简单的示例那会卡住。
  • 最简单的代码包括导入和其他代码,做一个完整的运行示例。

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


【解决方案1】:

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

【讨论】:

  • 顶层可以有另一个菜单
  • @nda: 是的,可以将菜单添加到顶层。
猜你喜欢
  • 1970-01-01
  • 2021-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多