import tkinter as tk
window = tk.Tk()
window.title('menubar')
window.geometry('400x400')
label = tk.Label(window, bg='yellow', text='', width=20)
label.pack()
counter = 1
# 菜单的响应函数
def do_job():
global counter
label.config(text='do ' + str(counter))
counter += 1
return
# 菜单
menubar = tk.Menu(window) # 主体绑定在window上
# 构建一个菜单项,以及菜单中的功能
fileMenu = tk.Menu(menubar, tearoff=0) # 菜单项,绑定在menubar上
fileMenu.add_command(label='New', command=do_job)
fileMenu.add_command(label='Open', command=do_job)
fileMenu.add_command(label='Save', command=do_job)
fileMenu.add_separator() # 分隔线
fileMenu.add_command(label='Exit', command=window.quit)
# 为fileMenu构建一个二级菜单
subMenu = tk.Menu(fileMenu)
subMenu.add_command(label='Submenu1', command=do_job)
subMenu.add_command(label='Submenu2', command=do_job)
fileMenu.add_cascade(label='Import', menu=subMenu, underline=0)
# 再构建一个菜单项,以及菜单中的功能
editMenu = tk.Menu(menubar, tearoff=0) # 菜单项,绑定在menubar上
editMenu.add_command(label='Cut', command=do_job)
editMenu.add_command(label='Copy', command=do_job)
editMenu.add_command(label='Paste', command=do_job)
# 将菜单项加到菜单中
menubar.add_cascade(label='File', menu=fileMenu)
menubar.add_cascade(label='Edit', menu=editMenu)
# 将菜单加到window上
window.config(menu = menubar)
window.mainloop()
效果: