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 ...
随机推荐
- Android中Java与web通信
Android中Java与web通信不是新的技术了,在android公布之初就支持这样的方式,2011年開始流行,而这样的模式开发也称作Hybird模式. 这里对android中的Java与web通信 ...
- 【Python】存储数据
很多程序都要求用户输入某种信息,如让用户存储游戏首选项或者提供可视化数据,不管专注什么,程序都要将数据进行存储,那么如何存储呢? JSON(JavaScript Object Notation)格式最 ...
- Oracle Sequence用plsql修改
在plsql中,打开Objects窗口 找Sequences文件夹>你需要修改的Sequence 选中你需要修改的sequence,右键edit(编辑) OK!
- C# Winform 运行异常 CefSharp.core.dll 找不到指定的模块
C# Winform开发中使用了CefSharp,之前在VS2012中运行很正常,今天换了一台Windows XP 打开VS2010 运行时,发生异常:System.IO.FileNotFoundEx ...
- [转]Linux shell中的那些小把戏
我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧.是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本 ...
- How Many Tables-并查集
id=19354" target="_blank" style="color:blue; text-decoration:none">HDU - ...
- LOL英雄联盟代打外挂程序-java实现
相信非常多程序员都玩游戏,比方LOL :有时候想打人机对战(玩家对战小心别人举报你! ),纯属为了拿经验和金币,而本身不想玩,但假设玩家不操作.那么非常快就会被系统觉得是挂机,从而得不到经验和金币.所 ...
- 【Wechall.net挑战】Anderson Application Auditing
Wechall.net是一个国外用于练习CTF和攻防的网站,国内资料writeup不多,只有个别几篇.作为小白,近日玩了几道有意思的题目,在此分享 题目地址:http://www.wechall.ne ...
- 根据URL发起HTTP请求,我的HTTPHelper。
完整的demo using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- erlang进程监控:link和monitor
Erlang最开始是为了电信产品而发展起来的语言,因为这样的目的,决定了她对错误处理的严格要求.Erlang除了提供exception,try catch等语法,还支持Link和Monitor两种监控 ...