Tkinter之Menu
Menu:菜单条,用来实现下拉和弹出式菜单。
示例:
import Tkinter as tk
window = tk.Tk()
window.title('My Window')
window.geometry('500x300')
l = tk.Label(window, text=' ', bg='green')
l.pack()
counter = 0
def do_job():
global counter
l.config(text='do '+ str(counter))
counter += 1
#创建一个菜单栏,这里我们可以把它理解成一个容器,在窗口的上方
menubar = tk.Menu(window)
#创建一个一级空菜单,放置在上面创建的一级菜单栏里
filemenu = tk.Menu(menubar, tearoff=0)
#将上面定义的一级空菜单命名为File
menubar.add_cascade(label='File', menu=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)
#创建二级空菜单放在一级菜单里,命名,加入二级菜单的下拉菜单
submenu = tk.Menu(filemenu, tearoff=0)
filemenu.add_cascade(label='Import', menu=submenu)
submenu.add_command(label='Import1', command=do_job)
submenu.add_command(label='Import2', command=do_job)
#再创建一个一级菜单和对应的下拉菜单
editmenu = tk.Menu(menubar, tearoff=0)
menubar.add_cascade(label='Edit', menu=editmenu)
editmenu.add_command(label='Copy', command=do_job)
editmenu.add_command(label='Paste', command=do_job)
#最后一定要让菜单栏显示出来
window.config(menu=menubar)
window.mainloop()