[译][Tkinter 教程14] menu 菜单

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

简介

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

一个简单的菜单

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

from Tkinter import *
from tkFileDialog   import askopenfilename

def 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 教程14] menu 菜单》

全系列:

[译][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

    原文作者:Lyux
    原文地址: https://segmentfault.com/a/1190000014290349
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞