最终的运行效果图(程序见序号5)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# ------------------------------------------------------------
#
# 参考资料:
# 用 python 和 tkinter 做简单的窗口视窗 - 网易云课堂
# https://study.163.com/course/courseLearn.htm?courseId=1003216011#/learn/video?lessonId=1003650347&courseId=1003216011
#
# 小白学tkinter(Menu组件(菜单)) - CSDN博客
# https://blog.csdn.net/nkd50000/article/details/77172845
#
# Tkinter菜单Menu的使用示例 - CSDN博客
# https://blog.csdn.net/qq_33094993/article/details/62218458
# Python Tkinter 之Menu控件(Python GUI 系列9) - CSDN博客
# https://blog.csdn.net/Jin_Kwok/article/details/80040893
#
# ------------------------------------------------------------
# ******************** class9_Menubar 菜单 *******************
# ******************** class9_Menubar 菜单 *******************
# =====>>>>>>内容概览
# =====>>>>>>内容概览
'''
# ------------------------------------------------------------
# # 1、创建一个是菜单
# ------------------------------------------------------------
# ------------------------------------------------------------
# # 2、创建一个是菜单 + 菜单下的子选项
# ------------------------------------------------------------
# ------------------------------------------------------------
# # 3、创建一个是菜单 + 菜单下的子选项 + 标签(显示点击次数)
# ------------------------------------------------------------
# ------------------------------------------------------------
# # 4、File菜单 + File菜单下的子选项 + 标签(显示点击次数) + Eidt菜单
# ------------------------------------------------------------
# ------------------------------------------------------------
# # 5、File菜单 + File菜单下的子选项 + 标签(显示点击次数) + Eidt菜单 + File菜单的子菜单
# ------------------------------------------------------------
'''
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线-------------------------------------------------
# ------------------------------------------------分割线------------------------------------------------- ''' # ------------------------------------------------------------ # # 1、创建一个是菜单 # ------------------------------------------------------------ ''' # import tkinter as tk # # window = tk.Tk() # window.title('class9_Menubar 菜单') # # # 窗口的位置: # # 300: 窗口的大小横 # # 400: 窗口的大小纵 # # 500: 窗口的位置,横 # # 50: 窗口的位置,纵 # window.geometry('300x400+500+50') # # # 一、创建菜单实例,也是一个顶级菜单 # menubar = tk.Menu(window) # # 创建一个下拉菜单‘文件’,这个菜单是挂在menubar(顶级菜单)上的 # # tearoff 是否关闭 '撕开’项目 # filemenu = tk.Menu(window, tearoff=False) # # 添加到顶级菜单中 # menubar.add_cascade(label='File', menu=filemenu) # # # 二、显示菜单 # # 还可以设置成 root['menu'] = menubar 根窗口的menu属性 是 menubar # window.config(menu=menubar) # # window.mainloop() # ------------------------------------------------分割线------------------------------------------------- ''' # ------------------------------------------------------------ # # 2、创建一个是菜单 + 菜单下的子选项 # ------------------------------------------------------------ ''' # import tkinter as tk # # window = tk.Tk() # window.title('class9_Menubar 菜单') # # # 窗口的位置: # # 300: 窗口的大小横 # # 400: 窗口的大小纵 # # 500: 窗口的位置,横 # # 50: 窗口的位置,纵 # window.geometry('300x400+500+50') # # # 一、创建菜单实例,也是一个顶级菜单 # menubar = tk.Menu(window) # # 创建一个下拉菜单‘文件’,这个菜单是挂在menubar(顶级菜单)上的 # # tearoff 是否关闭 '撕开’项目; 就是菜单中的列表是否可以被拉出来成为一个独立的窗口 # filemenu = tk.Menu(window, tearoff=False) # # 添加到顶级菜单中 # menubar.add_cascade(label='File', menu=filemenu) # # File菜单下的子选项 # filemenu.add_command(label='New') # filemenu.add_command(label='Open') # filemenu.add_command(label='Save') # # 子选项之间添加分隔线 # filemenu.add_separator() # # 子选项,退出 # filemenu.add_command(label='Exit', command=window.quit) # # # 二、显示菜单 # # 还可以设置成 root['menu'] = menubar 根窗口的menu属性 是 menubar # window.config(menu=menubar) # # window.mainloop() # ------------------------------------------------分割线------------------------------------------------- ''' # ------------------------------------------------------------ # # 3、创建一个是菜单 + 菜单下的子选项 + 标签(显示点击次数) # ------------------------------------------------------------ ''' # import tkinter as tk # # counter =0 # # def print_select(): # global counter # counter +=1 # l.config(text='you have click 【%s】 times' %counter ) # # window = tk.Tk() # window.title('class9_Menubar 菜单') # # # 窗口的位置: # # 300: 窗口的大小横 # # 400: 窗口的大小纵 # # 500: 窗口的位置,横 # # 50: 窗口的位置,纵 # window.geometry('300x400+500+50') # # # 设置一个标签 # l = tk.Label(window, width=30, text='empty', bg='yellow') # l.pack() # # # # 一、创建菜单实例,也是一个顶级菜单 # menubar = tk.Menu(window) # # 创建一个下拉菜单‘文件’,这个菜单是挂在menubar(顶级菜单)上的 # # tearoff 是否关闭 '撕开’项目; 就是菜单中的列表是否可以被拉出来成为一个独立的窗口 # filemenu = tk.Menu(window, tearoff=False) # # 添加到顶级菜单中 # menubar.add_cascade(label='File', menu=filemenu) # # File菜单下的子选项 # filemenu.add_command(label='New', command=print_select) # filemenu.add_command(label='Open', command=print_select) # filemenu.add_command(label='Save', command=print_select) # # 子选项之间添加分隔线 # filemenu.add_separator() # # 子选项,退出 # filemenu.add_command(label='Exit', command=window.quit) # # # 二、显示菜单 # # 还可以设置成 root['menu'] = menubar 根窗口的menu属性 是 menubar # window.config(menu=menubar) # # window.mainloop() # ------------------------------------------------分割线------------------------------------------------- ''' # ------------------------------------------------------------ # # 4、File菜单 + File菜单下的子选项 + 标签(显示点击次数) + Eidt菜单 # ------------------------------------------------------------ ''' # import tkinter as tk # # counter =0 # # def print_select(): # global counter # counter +=1 # l.config(text='you have click 【%s】 times' %counter ) # # window = tk.Tk() # window.title('class9_Menubar 菜单') # # # 窗口的位置: # # 300: 窗口的大小横 # # 400: 窗口的大小纵 # # 500: 窗口的位置,横 # # 50: 窗口的位置,纵 # window.geometry('300x400+500+50') # # # 设置一个标签 # l = tk.Label(window, width=30, text='empty', bg='yellow') # l.pack() # # # # 一、创建菜单实例,也是一个顶级菜单(实际上是一个菜单条) # menubar = tk.Menu(window) # # 创建一个下拉菜单‘文件’,这个菜单是挂在menubar(顶级菜单)上的 # # tearoff 是否关闭 '撕开’项目; 就是菜单中的列表是否可以被拉出来成为一个独立的窗口 # filemenu = tk.Menu(window, tearoff=False) # # 添加到顶级菜单中 # menubar.add_cascade(label='File', menu=filemenu) # # File菜单下的子选项 # filemenu.add_command(label='New', command=print_select) # filemenu.add_command(label='Open', command=print_select) # filemenu.add_command(label='Save', command=print_select) # # 子选项之间添加分隔线 # filemenu.add_separator() # # 子选项,退出 # filemenu.add_command(label='Exit', command=window.quit) # # # # 编辑菜单 # # 增加一个名称为“编辑”的部分 # editmenu = tk.Menu(window, tearoff=True) # tearoff=True 表示可以被独立成一个窗口 # # 将该部分挂载到状态栏 menubar 中 # menubar.add_cascade(label='Edit', menu=editmenu) # editmenu.add_command(label='Cut', command=print_select) # editmenu.add_command(label='Copy', command=print_select) # editmenu.add_command(label='Paste', command=print_select) # # # 二、显示菜单 # # 还可以设置成 root['menu'] = menubar 根窗口的menu属性 是 menubar # window.config(menu=menubar) # # window.mainloop() # ------------------------------------------------分割线------------------------------------------------- ''' # ------------------------------------------------------------ # # 5、File菜单 + File菜单下的子选项 + 标签(显示点击次数) + Eidt菜单 + File菜单的子菜单 # ------------------------------------------------------------ ''' import tkinter as tk counter =0 def print_select(): global counter counter +=1 l.config(text='you have click 【%s】 times' %counter ) window = tk.Tk() window.title('class9_Menubar 菜单') # 窗口的位置: # 300: 窗口的大小横 # 400: 窗口的大小纵 # 500: 窗口的位置,横 # 50: 窗口的位置,纵 window.geometry('300x400+500+50') # 设置一个标签 l = tk.Label(window, width=30, text='empty', bg='yellow') l.pack() # 一、创建菜单实例,也是一个顶级菜单(实际上是一个菜单条) menubar = tk.Menu(window) # 创建一个下拉菜单‘文件’,这个菜单是挂在menubar(顶级菜单)上的 # tearoff 是否关闭 '撕开’项目; 就是菜单中的列表是否可以被拉出来成为一个独立的窗口 filemenu = tk.Menu(window, tearoff=False) # 添加到顶级菜单中 menubar.add_cascade(label='File', menu=filemenu) # File菜单下的子选项 filemenu.add_command(label='New', command=print_select) filemenu.add_command(label='Open', command=print_select) filemenu.add_command(label='Save', command=print_select) # 子选项之间添加分隔线 filemenu.add_separator() # 子选项,退出 filemenu.add_command(label='Exit', command=window.quit) # 给上面的 File 文件菜单增加子选项 # 增加一个 submenu 部分 submenu= tk.Menu(filemenu, tearoff=False) # 设置 submenu 菜单所挂载的位置入口 filemenu.add_cascade(label='Import', menu=submenu, underline=False) submenu.add_command(label="Submenu1", command=print_select) # 编辑菜单 # 增加一个名称为“编辑”的部分 editmenu = tk.Menu(window, tearoff=True) # tearoff=True 表示可以被独立成一个窗口 # 将该部分挂载到状态栏 menubar 中 menubar.add_cascade(label='Edit', menu=editmenu) editmenu.add_command(label='Cut', command=print_select) editmenu.add_command(label='Copy', command=print_select) editmenu.add_command(label='Paste', command=print_select) # 二、显示菜单 # 还可以设置成 root['menu'] = menubar 根窗口的menu属性 是 menubar window.config(menu=menubar) window.mainloop()
最终的运行效果图(程序见序号5)