1.创建

from tkinter import *

root=Tk()
menubar=Menu(root)

def hello():
    print('Hello Menu!')
for item in ['Python','Php','CPP']:
    menubar.add_command(label=item,command=hello)

root['menu']=menubar

root.mainloop()

2.下拉菜单

from tkinter import *

root=Tk()
menubar=Menu(root)
filemenu=Menu(menubar,tearoff=0)

def hello():
    print('Hello Menu!')
for item in ['Python','Php','CPP']:
    filemenu.add_command(label    =item,command=hello)

menubar.add_cascade(label='Language',menu=filemenu)
root['menu']=menubar

root.mainloop()

3.添加Checkbutton项

from tkinter import *

root=Tk()
def printItem():
    print('Python=',vPython.get())
    print('PHP',vPHP.get())
    print('CPP=',vCPP.get())
    print('C=',vC.get())
    print('Java=',vJava.get())

menubar=Menu(root)

vPython=StringVar()
vPHP=StringVar()
vCPP=StringVar()
vC=StringVar()
vJava=StringVar()

filemenu=Menu(menubar,tearoff=0)

for k,v in {'Python':vPython,'PHP':vPHP,'CPP':vCPP,'C':vC,'Java':vJava}.items():
    filemenu.add_checkbutton(label=k,command=printItem,variable=v)

menubar.add_cascade(label='Language',menu=filemenu)
root['menu']=menubar
root.mainloop()

root.mainloop()

4.添加Radiobutton项

from tkinter import *

root=Tk()

menubar=Menu(root)
vLang=StringVar()
def printItem():
    print('vLang=',vLang.get())

filemenu=Menu(menubar,tearoff=0)
for k in ['Python','PHP','CPP','C']:
    filemenu.add_radiobutton(label=k,command=printItem,variable=vLang)

menubar.add_cascade(label='Language',menu=filemenu)

root['menu']=menubar

root.mainloop()

5.添加分隔符

from tkinter import *

root=Tk()

menubar=Menu(root)

def printItem():
    print('add_separator')

filemenu=Menu(menubar,tearoff=0)
for k in ['Python','PHP','CPP','C']:
    filemenu.add_command(label=k,command=printItem)
    filemenu.add_separator()

menubar.add_cascade(label='Language',menu=filemenu)
root['menu']=menubar

root.mainloop()

6.快捷菜单

from tkinter import *

root=Tk()

menubar=Menu(root)

def printItem():
    print('popup menu')

filemenu=Menu(menubar,tearoff=0)
for k in ['Python','PHP','CPP','C']:
    filemenu.add_command(label=k,command=printItem)
    filemenu.add_separator()

menubar.add_cascade(label='Language',menu=filemenu)

def popup(event):
    menubar.post(event.x_root,event.y_root)

root.bind('<Button-3>',popup)

root.mainloop()

7.菜单项的操作

from tkinter import *

root=Tk()

menubar=Menu(root)

def printItem():
    print('add_separator')

filemenu=Menu(menubar,tearoff=0)
for k in range(5):
    filemenu.add_command(label=str(k),command=printItem)

menubar.add_cascade(label='Language',menu=filemenu)

filemenu.insert_command(1,label='1000',command=printItem)
filemenu.insert_checkbutton(2,label='2000',command=printItem)
filemenu.insert_radiobutton(3,label='3000',command=printItem)
filemenu.insert_separator(1)
filemenu.insert_separator(5)

filemenu.delete(6,9)
filemenu.delete(0)

root['menu']=menubar

root.mainloop()

 

Python3 Tkinter-Menu的更多相关文章

  1. Tkinter Menu(菜单)

      Tkinter Menu: 这个小工具的目标是,让我们来创建我们的应用程序,可以通过使用各种菜单.核心功能,提供的方式来创建三个菜单类型:弹出式,顶层,和下拉   这个小工具的目标是,让我们来创建 ...

  2. python3+tkinter实现的黑白棋,代码完整 100%能运行

    今天分享给大家的是采用Python3+tkinter制作而成的小项目--黑白棋 tkinter是Python内置的图形化模块,简单易用,一般的小型UI程序可以快速用它实现,具体的tkinter相关知识 ...

  3. Python3 tkinter基础 Menu 添加菜单栏

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. Python3 tkinter基础 Menu Frame 创建右键菜单

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. Python3 tkinter基础 Menu add_checkbutton 多选的下拉菜单

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. Python3 tkinter基础 Menu add_radiobutton 单选的下拉菜单

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. Python3 tkinter基础 Menu add_cascade 多级菜单 add_separator 分割线

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. python3 tkinter模块

    一.tkinter 1.tkinter--tool kit interface工具包接口,用于GUI(Graphical User Interface)用户图形界面, 2.python3.x把Tkin ...

  9. python3 tkinter添加图片和文本

    在前面一篇文章基础上,使用tkinter添加图片和文本.在开始之前,我们需要安装Pillow图片库. 一.Pillow的安装 1.方法一:需要下载exe文件,根据下面图片下载和安装       下载完 ...

  10. Python3 tkinter基础 Menubutton 点击按钮出现下拉菜单

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

随机推荐

  1. Rem实现自适应布局

    rem布局的目的是为了让我们可以用同一份代码,适应不同的移动终端(rem:就是css单位) 1.项目入口html文件<meta name="viewport" content ...

  2. Redis的数据类型以及各类型的操作

    讲完安装和配置,接下来就是所有数据库的重头戏,数据结构和常用操作的增删改查了 redis是key-value的数据结构,每条数据都是⼀个键值对 键的类型是字符串 注意:键不能重复 值的类型分为五种: ...

  3. MySQL(mariadb)多实例应用与多实例主从复制

    MySQL多实例 mysql多实例,简单理解就是在一台服务器上,mysql服务开启多个不同的端口(如3306.3307,3308),运行多个服务进程.这些 mysql 服务进程通过不同的 socket ...

  4. 一道关于js正则表达式的面试题

    这道面试题明显是要用到正则表达式来解决的,由于太久没有写正则表达式了,一时之间竟然写不出来,所以记录一下笔记,下面直接上代码: function parseUrl(str) { // 判断是否传入参数 ...

  5. jquery优化

    选择器优化执行的速度 选择器 优先:id>元素>类 使用对象缓存:即使用变量来保存对象名,var $myDiv = $("#myDiv"):$myDiv.show(); ...

  6. WSO2 API Manager中host Ip 不正确的问题解决方法

    问题: 根据官方的Quick start的教程,部署完AM后,添加的API的host Ip不正确,为localhost或者服务器上的其他虚拟ip. 安装版本:       WSO2AM 2.6.0 环 ...

  7. 关于CoreLocation定位服务的简单使用

    在我们发微博,发表空间内容,以及在朋友圈发表动态的时候,会发现有一个位置信息的控件.iOS中是如何定位我们的位置信息的呢?基于此写一个小Demo,供大家参考使用. 在iOS中,用于定位时需要我们导入以 ...

  8. React 父子组件和非父子组件传值

      零.this.props     可以接收到 外界的传值 和 此组件标签内部自定义的方法       例:         <one vals={message} sendVal={this ...

  9. 爬取豆瓣电影Top250

    1 import json import requests from requests.exceptions import RequestException import re import time ...

  10. Asp.Net Core链接Mysql数据库

    一.新建一个Asp.Net Core WebMVC程序 添加nuget包  Mysql.Data 二.新建一个UserContext类 下面代码中的UserInfo是我自己建的一个实体,里面有俩字段: ...