# coding=gbk
# 注意:1. tk.Menu(a) 给对象a创建菜单
# 2. window.config(menu=menubar) 忘了它,菜单显示不出来
# 运行结果:https://s1.ax1x.com/2018/04/16/CeO7o8.gif
import tkinter as tk
window = tk.Tk()
window.title('my window')
window.geometry('200x200')
l = tk.Label(window, text='', bg='yellow')
l.pack()
counter = 0
def do_job():
global counter
l.config(text='do '+ str(counter))
counter+=1
#tkinter.Menu(a) 给对象a创建菜单
menubar = tk.Menu(window)# 菜单栏放window
filemenu = tk.Menu(menubar)# filemenu = tk.Menu(menubar, tearoff=0)的效果你可以自己试一下
menubar.add_cascade(label='File', menu=filemenu)# 给menubar的子菜单filemenu起名字
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)# 关闭窗口
#tkinter.Menu(a) 给对象a创建菜单
editmenu = tk.Menu(menubar)
menubar.add_cascade(label='Edit', menu=editmenu)# 给menubar的子菜单editmenu起名字
editmenu.add_command(label='Cut', command=do_job)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job)
#tkinter.Menu(a) 给对象a创建菜单
submenu = tk.Menu(filemenu)
filemenu.add_cascade(label='Import', menu=submenu)# 给filemenu的子菜单submenu起名字,加上underline=0后没看出有什么不同之处
submenu.add_command(label="Submenu1", command=do_job)
window.config(menu=menubar)# 窗口菜单配置
window.mainloop()