原文: https://pythonspot.com/tk-menubar/

Tkinter 工具箱包含所有用于创建图形应用程序的基本小部件。 几乎每个应用程序都有一个主菜单。 与预期的一样,Tkinter 支持将主菜单添加到您的应用程序窗口。

下面的屏幕截图演示了基于 Tkinter 的菜单:

Tk 菜单栏 - 图1

Tkinter 菜单

Tkinter 菜单栏

您可以使用以下代码通过 Tkinter 创建一个简单菜单。 每个选项(新建,打开,保存..)都应具有自己的回调。

  1. from Tkinter import *
  2. def donothing():
  3. x = 0
  4. root = Tk()
  5. menubar = Menu(root)
  6. filemenu = Menu(menubar, tearoff=0)
  7. filemenu.add_command(label="New", command=donothing)
  8. filemenu.add_command(label="Open", command=donothing)
  9. filemenu.add_command(label="Save", command=donothing)
  10. filemenu.add_separator()
  11. filemenu.add_command(label="Exit", command=root.quit)
  12. menubar.add_cascade(label="File", menu=filemenu)
  13. helpmenu = Menu(menubar, tearoff=0)
  14. helpmenu.add_command(label="Help Index", command=donothing)
  15. helpmenu.add_command(label="About...", command=donothing)
  16. menubar.add_cascade(label="Help", menu=helpmenu)
  17. root.config(menu=menubar)
  18. root.mainloop()

我们通过调用创建菜单栏:

  1. menubar = Menu(root)

其中rootTk()对象。

菜单栏可能包含零个或多个子菜单,例如文件菜单,编辑菜单,视图菜单,工具菜单等。

可以使用相同的Menu()调用创建子菜单,其中第一个参数是要附加到的菜单栏。

  1. filemenu = Menu(menubar, tearoff=0)
  2. menu = Menu(menubar, tearoff=0)

可以使用add_command()方法将各个选项添加到这些子菜单中:

  1. filemenu.add_command(label="New", command=donothing)
  2. filemenu.add_command(label="Open", command=donothing)
  3. filemenu.add_command(label="Save", command=donothing)

在该示例中,我们创建了回调函数donothing()并将每个命令链接到它以简化操作。 使用add_comment()函数添加一个选项。 我们调用add_cascade()将此菜单列表添加到特定列表。

下载 tkinter 示例