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. excel批量转换为CSV格式,xls批量导出csv格式

    工具/原料   excel 2013 地址链接:http://pan.baidu.com/s/1c1ZABlu 密码:d3rc 方法/步骤     首选我们把需要导出为CVS的Excel文件整理集中到 ...

  2. JSON API免费接口 各种提供JSON格式数据返回服务网站的API接口

    这里为大家搜集了一些能够返回JSON格式的服务接口.部分需要用JSONP调用. 电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuIds=J_商品ID& ...

  3. 「PHP」观察者模式模式

    引言   所属:行为型模式,常用设计模式之一       学习资料: <大话设计模式>程杰 模式概述   观察者模式定义了一种一对多的依赖关系,让多个观察者对象监听某一个主题对象.这个主题 ...

  4. [转]MySQL日期与时间戳常用函数

    本文原文地址:https://www.cnblogs.com/jhy-ocean/p/5560857.html 平时比较常用的时间.字符串.时间戳之间的互相转换,虽然常用但是几乎每次使用时候都喜欢去搜 ...

  5. JavaScript6里出现了哪些新语法、新特征?

    ES5是2009年就出来的,目前来说在我写这篇文章的时候基本上ES6在浏览器上面还没有普及,不过Google浏览器是支持ES6语法的,谁让Google是美国生产的呢... ES6现在使用的地方其实还是 ...

  6. 使用C语言协助办公_02批量修改学生信息

    最新录制了一个使用C语言批量修改学生信息的视频,主要是讲了如何处理文件路径以及批量修改的思路.灵感来源于需要将整个17级社保照片按规格改名字.具体见:https://chuanke.baidu.com ...

  7. 论文翻译第二弹--用python(或Markdown)对论文复制文本进行处理

    图中这种论文你想进行文本复制放入翻译软件进行翻译时,会发现是这种形式: 句子之间是断开的,这时普遍的方法,也是我之前一直用的方法就是打开一个文档编辑器,复制上去后一行行地继续调整.昨天不想这样了,就打 ...

  8. 解决sublime 的 package control 问题here are no packages available for installation

    参考https://blog.csdn.net/zknxx/article/details/52685094 关于 channel_v3.json 文件 ,下载的压缩包里没有, 需要下载https:/ ...

  9. UNIX故障--sun m4000服务器故障硬盘更换案例

    一.故障诊断 查看messages日志c0d0t0这块盘不断报错,类型为:retryable,如下: root@gdhx # more /var/adm/messages Aug  5 16:43:0 ...

  10. HBase简介(梳理知识)

    一. 简介 hbase是bigtable的开源山寨版本.是建立的hdfs之上,提供高可靠性.高性能.列存储.可伸缩.实时读写的数据库系统.它介于nosql和RDBMS之间,仅能通过主键(row key ...