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 ...
随机推荐
- fiddler不能监听 localhost和 127.0.0.1的问题 .
localhost/127.0.0.1的请求不会通过任何代理发送,fiddler也就无法截获. 解决方案 用 http://localhost. (locahost紧跟一个点号) 用 http://1 ...
- shell循环,判断介绍,以及实例
shell的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环 #!/bin/bash for file in $(ls /tmp/test ...
- neural network and deep learning笔记(1)
neural network and deep learning 这本书看了陆陆续续看了好几遍了,但每次都会有不一样的收获. DL领域的paper日新月异.每天都会有非常多新的idea出来,我想.深入 ...
- php解码“&#”编码的中文用函数html_entity_decode()
遇到类似 ' 这种编码的字,我们可以用html_entity_decode()函数来解码. html_entity_decode() 函数把 HTML 实体转换为字符. 语法 html_entity_ ...
- Erlang的系统限制
Erlang本身对进程数,原子长度等没有限制,但为了提高性能和节省内存,总会在实际实现中和运行环境中作出一些限制. 1.进程数量 缺省情况下同时存在的最大Erlang进程数量不超过2^18=26214 ...
- Docker入门系列2 安装
可以从 Docker 社区直接下载可用的模版或镜像. Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多. 其次,Docker对系统资源的利用率很高,一台主机上可以同时运行数千个Do ...
- 基于红帽5裁剪一个简单的Linux
HOST:宿主机 Target:目标机 1.基于HOST制作一个简单的可启动的Linux 1.给目标磁盘分区 两个: 在宿主机上:/dev/sdb1,/dev/sdb2 /dev/sdb1挂载到 /m ...
- python 基础 9.3 mysql 数据操作
#/usr/bin/python #coding=utf-8 #@Time :2017/11/21 0:20 #@Auther :liuzhenchuan #@File :mysql 数据操作 ...
- Devexpress Spreadsheet 中文教程
http://blog.csdn.net/hotmee/article/details/50554381
- SSIS
http://www.cnblogs.com/codefish/category/557802.html