tkinter之旅(三)
- 在tkinter库中,可以添加顶层窗口菜单和基于框架的菜单。前者适用于整个窗口,后者可以作为内嵌组件。
- 创建顶层窗口菜单的一般步骤:
- 创建顶层的
Menu
作为窗口组件的子组件,并将窗口的menu
属性设置为新Menu
;
- 对每个下拉式对象,创建一个新的
Menu
作为顶层Menu
的子组件,并在add_cascade
方法中将新的Menu
设置为顶层Menu
的下拉显示对象;
- 为上一步骤中创建的每个下拉
Menu
添加菜单选项,使用add_command
方法的command
选项来设定回调;
- 通过创建新
Menu
作为子菜单,以及使用add_cascade
方法连接相应父菜单和子菜单的方法,添加下拉式子菜单。
- 创建顶层菜单的代码实例:
def make_menus(master=None):
root_menu = Menu(master)
file_menu = Menu(root_menu)
file_menu.add_command(label='Open', command=on_menu_click, underline=0)
file_menu.add_command(label='Save', command=on_menu_click, underline=0)
file_menu.add_separator()
file_menu.add_command(label='Exit', command=sys.exit, underline=0)
root_menu.add_cascade(label='File', menu=file_menu, underline=0)
edit_menu = Menu(root_menu, tearoff=False)
edit_menu.add_command(label='Cut', command=on_menu_click, underline=0)
edit_menu.add_command(label='Paste', command=on_menu_click, underline=0)
root_menu.add_cascade(label='Edit', menu=edit_menu, underline=0)
sub_menu = Menu(edit_menu, tearoff=False)
sub_menu.add_command(label='Foo', command=on_menu_click, underline=0)
sub_menu.add_command(label='Bar', command=on_menu_click, underline=0)
edit_menu.add_cascade(label='Others', menu=sub_menu, underline=0)
master.config(menu=root_menu)
def main