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. 10 OCP知识点讲解 之 什么是Buffer Cache?

    OCP知识点讲解 之 什么是Buffer Cache? 分类: Oracle 2012-06-22 17:36:54   一.Buffer cache作用: Buffer cache是Oracle建立 ...

  2. ubuntu18.04错误配置变量环境导致无法进入系统

    1.问题描述 错误配置环境变量(直接在/etc/profile文件末尾添加了export xxx),关机后一直在登录界面循环无法进入系统. ###环境变量的添加是在原有变量之后以冒号(:)分隔加入,并 ...

  3. IDEA一直提示 错误: 找不到或无法加载主类

    1.把http://repo1.maven.org/maven2...下载下来2.放到本地Manen仓库archetype 文件夹下3.设置IDEA Maven->Runner 界面的VM Op ...

  4. Java 创建线程的方式

    想必大家在Java面试中经常会被问到有关线程的问题,最常见的莫过于“Java有哪几种创建线程的方式呢?” 稍稍了解过,或者在日常开发中也都会用到以下几种方式: ①继承Thread类(真正意义上的线程类 ...

  5. 原型 - 实现自己的jQuery

    每个第一次使用jq的开发者都感到惊叹,jq的$太神奇了,究竟是怎么做到的使用$控制dom 赞叹前人之余,探究其本源才是前端开发者应该做的事,社区常常说,不要重复造轮子, 可是啊,连轮子都造不出来,又怎 ...

  6. 面试题——Java虚拟机

    一.运行时数据区域 Java虚拟机在执行Java程序的时候会把它所管理的内存划分为若干个不同的数据区域,这些区域各有用途: 程序计数器:(线程私有的) 程序计数器是一块较小的内存,可以看作是当前线程所 ...

  7. H5测试(转载)

    可能有些朋友不明白啥是H5,但其实生活中我们经常会碰到. 比如,你经常收到的朋友虐狗第一式—结婚请贴. 你的朋友圈,可能会经常看到宝妈们虐狗第二式—晒可爱宝宝的相册. 你有可能也收到过这样,非常直观, ...

  8. Batch Normalization 批量标准化

    本篇博文转自:https://www.cnblogs.com/guoyaohua/p/8724433.html Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效 ...

  9. 04IP编址(网络层)

    帧中type为0x0800,送给ip   ip报文结构 TTL 生存时间最大为255,经过三层设备就减1 protocol:协议号 version:4,6 source ip address:源ip编 ...

  10. 【blockly教程】第二章 Blockly编程基础

    2.1 Blockly的数据类型 2.1.1 数据的含义  在计算机程序的世界里,程序的基本任务就是处理数据,无论是数值还是文字.图像.图形.声音.视频等信息,如果要在计算机中处理的话,就必须将它们转 ...