python之menu
只有主菜单没有二级菜单的例子:
- from tkinter import *
- root=Tk()
- root.wm_title('同济大学财务管理系统')
- menubar=Menu(root)#指定菜单实例的父窗口是root
- for item in ['文件','编辑','视图','关于']:
- menubar.add_command(label=item)
- root['menu']=menubar#指定主窗口的'menu'属性为刚刚创建的menubar
- root.mainloop()
主菜单携带子菜单的例子:
- from tkinter import *
- root=Tk()
- menubar=Menu(root)# it produces a menu instance
- fmenu=Menu(menubar)
- for item in ['新建','打开','保存','另存为']:
- fmenu.add_cascade(label=item)
- emenu=Menu(menubar)
- for item in ['复制','粘贴','剪切']:
- emenu.add_cascade(label=item)
- vmenu=Menu(menubar)
- for item in ['默认视图','新式视图']:
- vmenu.add_cascade(label=item)
- amenu=Menu(menubar)
- for item in ['版权信息','其他说明']:
- amenu.add_cascade(label=item)
- 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['menu']=menubar
- root.mainloop()
制作弹出式菜单的例子:
- from tkinter import *
- def xianshi():
- #global root
- x1=Label(root,text='I love China',background='blue')
- x1.pack()
- root=Tk()#制作一个盛所有窗口的容器
- menubar=Menu(root)#制作一个菜单实例
- for x in ['vb','c','java','php','c++']:
- menubar.add_command(label=x)
- menubar.add_command(label='python',command=xianshi)
- def pop(event):
- menubar.post(event.x_root,event.y_root)
- root.bind('<Button-3>',pop)
- root.mainloop()
带分割横线的二级菜单:
- from tkinter import *
- root=Tk()
- m=Menu(root)#创建一个菜单实例m,这个菜单实例依附在主窗口root上面。
- m2=Menu(m)#创建一个二级菜单实例,这个实例依附在菜单m上,因为Menu的参数是widget,它是一个窗
- #口,m也算是一个窗口了,只不过是菜单窗口。
- for item in ['python','perl','php','ruby']:
- m2.add_command(label=item)#菜单m2调用add_command方法,用来增加菜单项目标签
- m2.add_separator()#添加分割线,不需要任何参数
- for item in ['java','c++','c']:
- m2.add_command(label=item)#增加二级菜单项目标签
- m.add_cascade(label='语言',menu=m2)#给依附在root容器上的一级菜单m增加一个二级菜单
- root['menu']=m#给root增加菜单属性,让其拥有一级菜单
- root.mainloop()
增加复选按钮与单选按钮:
- from tkinter import *
- root=Tk()
- m=Menu(root)#创建一个菜单实例m,这个菜单实例依附在主窗口root上面。
- m2=Menu(m)#创建一个二级菜单实例,这个实例依附在菜单m上,因为Menu的参数是widget,它是一个窗
- #口,m也算是一个窗口了,只不过是菜单窗口。
- for item in ['python','perl','php','ruby']:
- m2.add_checkbutton(label=item)#菜单m2调用add_command方法,用来增加菜单项目标签,复选按钮
- m2.add_separator()#添加分割线,不需要任何参数
- for item in ['java','c++','c']:
- m2.add_radiobutton(label=item)#增加二级菜单项目标签,单选按钮
- m.add_cascade(label='语言',menu=m2)#给依附在root容器上的一级菜单m增加一个二级菜单
- root['menu']=m#给root增加菜单属性,让其拥有一级菜单
- root.mainloop()
python之menu的更多相关文章
- python Console menu
I just finished a demo which is to provide an easy way to control hardware resources of A sample. Th ...
- Python Tkinter Menu
本人想开发一个简易的搜图GUI,基于此,选择用Tkinter模块开发. 需要开发出菜单栏 1 from Tkinter import * 2 3 4 root = Tk() 5 root.title( ...
- python手记(9)
本博客所有内容是原创,未经书面许可,严禁任何形式的转 http://blog.csdn.net/u010255642 tab #!/usr/bin/env python # example noteb ...
- python开发_tkinter_菜单选项中英文切换_菜单选项不可用操作_博主推荐
我使用的python版本为:3.3.2 如果你对python中tkinter模块的菜单操作不是很了解,你可以看看: python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推 ...
- python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐(二)
在上一篇blog:python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐 中介绍了python中的tkinter的一些东西,你可能对tkinter有一定的了解了.这篇b ...
- python开发_tkinter_窗口控件_自己制作的Python IDEL_博主推荐
在了解python中的tkinter模块的时候,你需要了解一些tkinter的相关知识 下面是python的API文档中的一个简单例子: import tkinter as tk class Appl ...
- python--第十一天总结(paramiko 及数据库操作)
堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 实现思路 堡垒机执行流程: 管理员为用户在服务器上创建账号(将公钥放置服务器, ...
- 堡垒机(paramiko)
实现思路 堡垒机执行流程: 管理员为用户在服务器上创建账号(将公钥放置服务器,或者使用用户名密码) 用户登陆堡垒机,输入堡垒机用户名密码,现实当前用户管理的服务器列表 用户选择服务器,并自动登陆 执行 ...
- VueUI -- iView4.0简单使用
一.iView(View UI) 1.简介 官网:https://www.iviewui.com/ 仓库:https://github.com/view-design/ViewUI iView 与 V ...
随机推荐
- intent传值传对象跳转
intent传值传对象跳转 1.传值 //原activity中存入一个字段 intent = new Intent(From.this, To.class); intent.putExtra(&quo ...
- 【Python数据分析】IPython快捷键
命令 说明 CTRL+P(或向上箭头) 后向搜索命令历史中以当前输入的文本开头的命令 CTRL+N(或向下箭头) ...
- VueJS样式绑定v-bind:class
class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. Vue.js v-bind 在处理 class 和 style 时, 专门增强了它 ...
- linq查询去重
通过自定义扩展方法DistinctBy实现去重 public static IEnumerable<TSource> DistinctBy<TSource, TKey> (th ...
- *Android 多线程下载 仿下载助手
今天带来一个多线程下载的 样例.先看一下效果.点击 下载 開始下载,同一时候显示下载进度.完成下载,变成程 安装,点击安装 提示 安装应用. 界面效果 线程池 ThreadPoolExecutor , ...
- php程序执行过程--非宏观和微观而是写的程序一行一行的路径----利用xdebug了解一段程序的执行过程----覆盖率
1.xdebug_start_code_coverage();//在需要开始跟踪程序执行路径时使用 2.var_dump(xdebug_get_code_coverage());//在结尾使用打印程序 ...
- vue proxyTable
Vue-cli proxyTable 解决开发环境的跨域问题 字数474 阅读1685 评论1 喜欢3 和后端联调时总是会面对恼人的跨域问题,最近基于Vue开发项目时也遇到了这个问题,两边各自想了一堆 ...
- 在命令行上启用 64 位 Visual C++ 工具集
Visual C++ 包含可用于创建 apps 在 32 位上运行,64 位,或基于 ARM 的 windows 操作系统的编译器. 下面的列表描述了 cl.exe(Visual C++ 编译器)的各 ...
- WPF之DataTemplateSelector技巧
WPF中如何通过一个属性来控制对象的模板,属性值改变时对象的模板会跟随改变? 两个关键点 1 属性/对象更改通知 方法一:继承INotifyPropertyChanged接口,当属性值更改时需要让 ...
- python跳坑手记
解决python同目录报错:import util 改成 from . import util