已获原作者授权. 原系列地址: Python Tkinter

简介

一提到"menu"这个词, 很多人首先想到的是餐馆里的菜单. 虽然餐馆菜单和计算机程序中的菜单看起来一点也不像, 但他们确实有很多共同点. 在餐馆中, 菜单列举了所有菜品和饮料; 在计算机程序中, 菜单通过图形界面, 展示了应用程序可用的命令和功能.
在用户界面程序中, 菜单以图标和文字的方式展示可用选项. 用鼠标选择一个选项, 程序的某个行为既被触发. 这种行为通常包括比如 打开/保存文件, 退出程序 等功能.
上下文菜单是一种根据用户当前所在程序位置(上下文), 动态生成的菜单.
本章我们将展示如何使用 Tkinter 的下拉菜单: 当点击应用窗口顶部条目时, 菜单由上而下展示出来. 这些条目通常有 "文件", "编辑", "帮助" 等.

一个简单的菜单

下例创建了一个带有简易菜单的窗口:

from Tkinter import *
from tkFileDialog   import askopenfilenamedef NewFile():print "New File!"
def OpenFile():name = askopenfilename()print name
def About():print "This is a simple example of a menu"root = Tk()
menu = Menu(root)
root.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="New", command=NewFile)
filemenu.add_command(label="Open...", command=OpenFile)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)helpmenu = Menu(menu)
menu.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="About...", command=About)mainloop()

上面代码运行后输出如下窗口:


全系列:
[译][Tkinter 教程01] 入门: Label 控件
[译][Tkinter 教程02] Message 控件
[译][Tkinter 教程03] Button 控件
[译][Tkinter 教程04] Variable 类
[译][Tinkter 教程05] Radiobutton 控件
[译][Tkinter 教程06] Checkbox 控件
[译][Tkinter 教程07] Entry 控件
[译][Tkinter 教程08] Canvas 图形绘制
[译][Tkinter 教程09] Scale 控件
[译][Tkinter 教程10] Text 控件
[译][Tkinter 教程11] 对话框和消息框
[译][Tkinter 教程12] 布局管理 (Pack Place Grid)
[译][Tkinter 教程13] Mastermind 游戏
[译][Tkinter 教程14] menu 菜单
[译][Tkinter 教程15] event 事件绑定

译者水平有限, 如有疏漏, 欢迎指正.
已获得原作者授权. 原文地址: Creating Menus

[译][Tkinter 教程14] menu 菜单相关推荐

  1. [译][Tkinter 教程10] Text 控件

    已获原作者授权. 原系列地址: Python Tkinter 简介及简例 Text 控件用来显示多行文本. Tkinter 的 Text 控件很强大, 很灵活, 可以实现很多功能. 虽然这个控件的主要 ...

  2. [译][Tkinter 教程02] Message 控件

    已获原作者授权. 原系列地址: Python Tkinter Message 控件 Message 控件用来展示一些文字短消息. Message 和 Label 控件有些类似, 但在展示文字方面比 L ...

  3. [译][Tkinter 教程15] event 事件绑定

    已获原作者授权. 原系列地址: Python Tkinter 简介 一个 Tkinter 应用生命周期中的大部分时间都处在一个消息循环 (event loop) 中. 它等待事件的发生: 事件可能是 ...

  4. tkinter教程7:控件Menu

    tkinter教程7:控件Menu 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: python版本:3.5 开发环境:pyCharm 源码: ...

  5. [译]Vulkan教程(04)基础代码

    [译]Vulkan教程(04)基础代码 General structure 通用结构 In the previous chapter you've created a Vulkan project w ...

  6. 【ASP】Menu菜单导航

    描述:使用Menu控件,编码实现导航效果 <?xml version="1.0" encoding="utf-8" ?> <Root> ...

  7. [译]RabbitMQ教程C#版 - 远程过程调用(RPC)

    先决条件 本教程假定 RabbitMQ 已经安装,并运行在localhost标准端口(5672).如果你使用不同的主机.端口或证书,则需要调整连接设置. 从哪里获得帮助 如果您在阅读本教程时遇到困难, ...

  8. python菜单栏_Python(Tkinter)创建的菜单不会显示

    我正在尝试为Tkinter创建顶级文件菜单并且它不显示.我不认为我需要带()它,因为它是在主Python(Tkinter)创建的菜单不会显示 from Tkinter import * class M ...

  9. [译]Vulkan教程(20)重建交换链

    [译]Vulkan教程(20)重建交换链 Swap chain recreation 重建交换链 Introduction 入门 The application we have now success ...

最新文章

  1. ceph中使用ceph-objectstore-tool将pg从incomplete标记为complete
  2. python代码示例下载-使用python3批量下载rbsp数据的示例代码
  3. 差动机器人毕业设计_双轮差动机器人曲线算法设计与实现
  4. python 创建目录_第二天:Python中目录及文件操作
  5. Linux基础学习八:mysql主从复制原理以及详细搭建步骤
  6. bes2300 tws配对_tws 耳机春天来了!
  7. html怎么实现单个li效果,基于DIV+ul+li实现的表格(多示例)
  8. 树的平衡之AVL树——错过文末你会后悔,信我
  9. 如何解决未经检查的演员表警告?
  10. oracle和mysql用户名_oracle的SID和用户名和角色
  11. 计算机逆向工程专业,计算机软件反向工程的合法性研究
  12. 景区门票分销系统解决方案
  13. php万年历月份处理_使用 PHP 写的万年历接口
  14. ios 设置属性的center_iOS游戏平台Game Center成就显示设置指南
  15. Failed to open /var/lib/samba/private/secrets.tdb
  16. DHT应用于区块链概要
  17. 【SQL Server】模糊查询
  18. 存在的多个逻辑与()和逻辑或(||)的执行顺序
  19. php 开发 web面板,phpstudy linux web面板(小皮面板)V0.2版本正式发布
  20. numpy、pandas下载速度慢问题

热门文章

  1. 背景图片hover加蒙层_用hover怎么将li的背景图片变透明,文字不变,是背景图片,不是img插入...
  2. 虚拟机和主机文件共享的四种方法
  3. eclipse中的WEB项目打包部署到tomcat .
  4. vue3.0实现原理
  5. c语言数据结构 自测卷答案,《c语言数据结构》第2章 自测卷答案
  6. mysql 临时表增加主键_MySQL之重建表
  7. android点击textview后选择,android - 单击后,ClickableSpan TextView保持选中状态 - SO中文参考 - www.soinside.com...
  8. 福建省高职单招分数怎么计算机,2019福建高职单招切线 高职招考分数线是多少...
  9. @echo off是什么意思_为什么执行自己的程序要在前面加./
  10. oracle 慕课课程_“慕课”在Oracle数据库课程中的应用探讨