-
先看效果
其中黄色部分是一个Label,菜单中的命令选项没点击一下,就能调用写好的函数在这个Label中输出,功能为统计命令被点击的次数
-
应用实例
-
Menu对象=tk.Menu()
定义一个菜单条,或横条(顶部的菜单横条),或竖条(点击‘文件’弹出的竖条),或额外的子条(点击某个选项后展开的条),如下图中的三个红色方框框住的,都可以被认为是一个Menu
-
Menu对象.add_cascade(子Menu)
添加一个下级菜单(Menu),用来添加上面生成的一个Menu。如上图,可以为‘文件’添加下面的这个竖框Menu;可以为‘选择编码重新打开’添加右侧的竖框Menu
-
Menu对象.add_command(命令选项, command=函数名)
在Menu中添加一个命令选项,通过command属性指定要执行的函数
-
Menu对象.add_separator()
在Menu中添加一条分割线
-
关键代码
# 在窗口上创建一个菜单栏(最上方的菜单栏横条) menubar = tk.Menu(window) # Valid resource names: activebackground, activeborderwidth, # activeforeground, background, bd, bg, borderwidth, cursor, # disabledforeground, fg, font, foreground, postcommand, relief, # selectcolor, takefocus, tearoff, tearoffcommand, title, type. # 定义一个竖条 filemenu = tk.Menu(menubar, tearoff=0) # 在菜单单元中添加一个菜单项File menubar.add_cascade(label='File', menu=filemenu) # 在File菜单项添加命令选项 filemenu.add_command(label='New', command=do_job) # 点击调用do_job filemenu.add_command(label='Open', command=do_job) filemenu.add_command(label='Save', command=do_job) # 添加一条分割线 filemenu.add_separator() # 定义一个子菜单条 submenu = tk.Menu(filemenu) # 和上面定义菜单一样,不过此处是在File上创建一个空的菜单 submenu.add_command(label="Submenu1", command=do_job) # 给submenu添加功能选项 submenu.add_command(label="Submenu2", command=do_job) # 添加一个展开下拉菜单,并把上面的子菜单嵌入给它 filemenu.add_cascade(label='Import', menu=submenu, underline=0) # 同样的在File中加入Exit小菜单,此处对应命令为window.quit filemenu.add_command(label='Exit', command=window.quit) # 在顶部再添加两个菜单项 viewmenu = tk.Menu(menubar, tearoff=0) windowsmenu = tk.Menu(menubar, tearoff=0) menubar.add_cascade(label='View', menu=viewmenu) menubar.add_cascade(label='Windows', menu=windowsmenu) # 将菜单配置给窗口 window.config(menu=menubar)
-
其中的Label
counter = 0 def do_job(): global counter l.config(text='do ' + str(counter)) counter += 1 l = tk.Label(window, bg='yellow', width=20, text='empty') l.pack()
-
-
参考文献
代码主要来自 Menubar 菜单,略有改动
tkinter制作菜单栏
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.