#菜单是我们软件比不可少的一部分,那么我们要怎么样去创建他呢?
#首先我们来玩一个小游戏,划地盘
#盘古开天辟地,将天地分开,至此有了天下,后面慢慢有了生物,有了部落;
#那么我们想要创建菜单,当然也要效仿盘古开辟出一块空间出来,给他取了一个名字:menu_all
#后来慢慢有了生物,为了生存要瓜分地盘,然后给这个地盘取了一个名字,这就是我的领地了
#同样的道理,我们要想分出一级菜单,就需要将menu_all瓜分了,取个名字menu_1,这就是我的领地
#后来领地越来越大,不好治理,就把他分为了若干个部落统一治理
#那么我们就继续瓜分menu_1的地盘,这就是我们通常意义上说的二级菜单
from tkinter import *
window = Tk()
menu_all = Menu(window) #在window中开辟空间,这就是我们总的菜单
file_menu = Menu(menu_all,tearoff=0) #然后领地太大,我们要分出一级菜单,分出一级菜单
#指明file_menu是归属于menu_all的,tearoff=0说明当前我并不需要打开一个新窗口显示
menu_all.add_cascade(label='File',menu=file_menu) #然后将一级菜单取了个名字,并且跟地盘绑定
#add_cascade()就是用来创建次级菜单的
open_menu = Menu(file_menu,tearoff=0)
file_menu.add_add_cascade(label='Open',menu=open_menu) #创建一个二级菜单
open_menu.add_command(label='PythonFile')
file_menu.add_command(label='Close') #然后一级菜单有部分职能机关由一级菜单直接管辖
#add_command()用来创建菜单按键
help_menu = Menu(menu_all,tearoff=0)
menu_all.add_cascade(label='Help',menu=help_menu)
help_menu.add_command(label='Help')
help_menu.add_command(label='About')
window.config(menu=menu_all) #注意,创建出来的menu_all还是属于window的,不能把它忘了
window.mainloop()
#其实创建菜单,只要弄清楚地盘的归属问题,就没有那么复杂了
#添加菜单按钮的回调函数跟普通按键的方法一样,这里就不再赘述了
#但是有几个特殊的方法还需要再说下:
add_separator() #用来添加分隔符
add_checkbutton() #用来添加复选按钮
add_radiobutton() #用来添加单选按钮
#单选、复选按钮跟普通的用法一样
window.quit() #退出窗体