tkinter 08 Menubar 菜单

  •  
    运行结果:https://s1.ax1x.com/2018/04/16/CeO7o8.gif
  • # 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()

     

posted on 2018-04-16 17:40  jkn1234  阅读(237)  评论(0编辑  收藏  举报