Python3 Tkinter-Menu
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的更多相关文章
- Tkinter Menu(菜单)
Tkinter Menu: 这个小工具的目标是,让我们来创建我们的应用程序,可以通过使用各种菜单.核心功能,提供的方式来创建三个菜单类型:弹出式,顶层,和下拉 这个小工具的目标是,让我们来创建 ...
- python3+tkinter实现的黑白棋,代码完整 100%能运行
今天分享给大家的是采用Python3+tkinter制作而成的小项目--黑白棋 tkinter是Python内置的图形化模块,简单易用,一般的小型UI程序可以快速用它实现,具体的tkinter相关知识 ...
- Python3 tkinter基础 Menu 添加菜单栏
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3 tkinter基础 Menu Frame 创建右键菜单
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3 tkinter基础 Menu add_checkbutton 多选的下拉菜单
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3 tkinter基础 Menu add_radiobutton 单选的下拉菜单
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Python3 tkinter基础 Menu add_cascade 多级菜单 add_separator 分割线
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- python3 tkinter模块
一.tkinter 1.tkinter--tool kit interface工具包接口,用于GUI(Graphical User Interface)用户图形界面, 2.python3.x把Tkin ...
- python3 tkinter添加图片和文本
在前面一篇文章基础上,使用tkinter添加图片和文本.在开始之前,我们需要安装Pillow图片库. 一.Pillow的安装 1.方法一:需要下载exe文件,根据下面图片下载和安装 下载完 ...
- Python3 tkinter基础 Menubutton 点击按钮出现下拉菜单
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
随机推荐
- 10 OCP知识点讲解 之 什么是Buffer Cache?
OCP知识点讲解 之 什么是Buffer Cache? 分类: Oracle 2012-06-22 17:36:54 一.Buffer cache作用: Buffer cache是Oracle建立 ...
- ubuntu18.04错误配置变量环境导致无法进入系统
1.问题描述 错误配置环境变量(直接在/etc/profile文件末尾添加了export xxx),关机后一直在登录界面循环无法进入系统. ###环境变量的添加是在原有变量之后以冒号(:)分隔加入,并 ...
- IDEA一直提示 错误: 找不到或无法加载主类
1.把http://repo1.maven.org/maven2...下载下来2.放到本地Manen仓库archetype 文件夹下3.设置IDEA Maven->Runner 界面的VM Op ...
- Java 创建线程的方式
想必大家在Java面试中经常会被问到有关线程的问题,最常见的莫过于“Java有哪几种创建线程的方式呢?” 稍稍了解过,或者在日常开发中也都会用到以下几种方式: ①继承Thread类(真正意义上的线程类 ...
- 原型 - 实现自己的jQuery
每个第一次使用jq的开发者都感到惊叹,jq的$太神奇了,究竟是怎么做到的使用$控制dom 赞叹前人之余,探究其本源才是前端开发者应该做的事,社区常常说,不要重复造轮子, 可是啊,连轮子都造不出来,又怎 ...
- 面试题——Java虚拟机
一.运行时数据区域 Java虚拟机在执行Java程序的时候会把它所管理的内存划分为若干个不同的数据区域,这些区域各有用途: 程序计数器:(线程私有的) 程序计数器是一块较小的内存,可以看作是当前线程所 ...
- H5测试(转载)
可能有些朋友不明白啥是H5,但其实生活中我们经常会碰到. 比如,你经常收到的朋友虐狗第一式—结婚请贴. 你的朋友圈,可能会经常看到宝妈们虐狗第二式—晒可爱宝宝的相册. 你有可能也收到过这样,非常直观, ...
- Batch Normalization 批量标准化
本篇博文转自:https://www.cnblogs.com/guoyaohua/p/8724433.html Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效 ...
- 04IP编址(网络层)
帧中type为0x0800,送给ip ip报文结构 TTL 生存时间最大为255,经过三层设备就减1 protocol:协议号 version:4,6 source ip address:源ip编 ...
- 【blockly教程】第二章 Blockly编程基础
2.1 Blockly的数据类型 2.1.1 数据的含义 在计算机程序的世界里,程序的基本任务就是处理数据,无论是数值还是文字.图像.图形.声音.视频等信息,如果要在计算机中处理的话,就必须将它们转 ...