• GUI tkinter (Menu) -下拉菜单


    添加顶层菜单

    1、我们可以使用Menu类来新建一个菜单,Menu和其他的组件一样,第一个是parent,这里通常可以为窗口。
    2、然后我们可以用add_command方法来为它添加菜单项,
    a.如果该菜单是顶层菜单,则添加的菜单项依次向右添加。
    b.如果该菜单是顶层菜单的一个菜单项,则它添加的是下拉菜单的菜单项。
    3、add_command 中的参数常用的有 label 属性,用来指定的 是菜单项的名称,command 属性用来指定被点击的时候调用的方法,acceletor 属性指定的是快捷键,underline 属性是是否拥有下划线。
    4、最后可以用窗口的 menu 属性指定我们使用哪一个作为它的顶层菜单。

    存在子菜单

    1、需要使用 add_cascade,cascade 可以理解为“级联”,即它的作用只是为了引出后面的菜单。
    2、add_cascade 的一个很重要的属性就是 menu 属性,它指明了要把那个菜单级联到该菜单项上,当然,还必不可少 的就是 label 属性,用于指定该菜单项的名称。
    3、我们先新建一个 Menu 的实例,然后使用 add_command 来 添加菜单项,这样等该菜单建立完毕,我们要把它作为另一个菜单项的子菜单,就需要使用 add_cascade 方法。

    示例代码

    from tkinter import *
    root =  Tk()
    root.wm_title("菜单")
    root.geometry("400x300+300+100")
    # 创建一个顶级菜单实例
    menubar = Menu(root)
    """
    for item in ['文件','编辑','视图','关于']:
        menubar.add_command(label=item)
    """
    fmenu = Menu(menubar) # 在 menubar菜单实例上建立新的子菜单实例
    for item in ['新建','打开','保存','另存为']:
        fmenu.add_command(label = item)
    
    emenu = Menu(menubar) # 在 menubar菜单实例上建立新的子菜单实例
    for item in ['复制','粘贴','剪切']:
        emenu.add_command(label = item)
    
    vmenu = Menu(menubar) # 在 menubar菜单实例上建立新的子菜单实例
    for item in ['默认视图','新式视图']:
        vmenu.add_command(label = item)
    
    amenu = Menu(menubar) # 在 menubar菜单实例上建立新的子菜单实例
    for item in ['版权信息','其他说明']:
        amenu.add_command(label = item)
    
    # 在 menubar 上设置子菜单名,并关联一系列子菜单
    menubar.add_cascade(label = "文件",menu = fmenu)
    menubar.add_cascade(label = "编辑",menu = emenu)
    menubar.add_cascade(label = "视图",menu = vmenu)
    menubar.add_cascade(label = "关于",menu = amenu)
    
    # 显示菜单
    root.config(menu = menubar) # 将root根窗口的顶级菜单设置为menu
    # root['menu'] = menubar ,两种方式均可
    mainloop()
    

    示例结果

    正是江南好风景
  • 相关阅读:
    在java中请求webservice接口并且处理xml解析实现代码
    uniapp微信小程序唤起微信支付
    微信二维码图片添加资料
    uniapp支付宝App支付编写(沙箱支付)
    Java之xlsx文件上传到服务器
    echarts中国省份坐标数据
    kafka参数配置
    docker
    mysql 异步复制,半同步复制
    centos7安装mysql
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12976602.html
Copyright © 2020-2023  润新知