已获原作者授权. 原系列地址: 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()
上面代码运行后输出如下窗口:
译者水平有限, 如有疏漏, 欢迎指正.
已获得原作者授权. 原文地址: Creating Menus