Tkinter 菜单栏

Tkinter 工具包附带了创建图形应用程序的所有基本控件。几乎每个应用程序都有一个主菜单。正如所料,Tkinter 支持在应用程序窗口中添加主菜单。

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

![Tkinter 菜单](/img/Tutorial/Tkinter/Tkinter Menubar.png)

Tkinter 菜单栏

你可以使用下面的代码使用 Tkinter 创建一个 simle 菜单。每个选项(newopensave ..)都应该有自己的回调函数。

from Tkinter import *

def donothing():
   x = 0

root = Tk()

menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=donothing)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)

helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Help Index", command=donothing)
helpmenu.add_command(label="About...", command=donothing)
menubar.add_cascade(label="Help", menu=helpmenu)

root.config(menu=menubar)
root.mainloop()

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

menubar = Menu(root)

其中 rootTk() 对象。

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

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

filemenu = Menu(menubar, tearoff=0)
menu = Menu(menubar, tearoff=0)

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

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

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