已获原做者受权. 原系列地址: Python Tkinter
一提到"menu"这个词, 不少人首先想到的是餐馆里的菜单. 虽然餐馆菜单和计算机程序中的菜单看起来一点也不像, 但他们确实有不少共同点. 在餐馆中, 菜单列举了全部菜品和饮料; 在计算机程序中, 菜单经过图形界面, 展现了应用程序可用的命令和功能.
在用户界面程序中, 菜单以图标和文字的方式展现可用选项. 用鼠标选择一个选项, 程序的某个行为既被触发. 这种行为一般包括好比 打开/保存文件, 退出程序 等功能.
上下文菜单是一种根据用户当前所在程序位置(上下文), 动态生成的菜单.
本章咱们将展现如何使用 Tkinter 的下拉菜单: 当点击应用窗口顶部条目时, 菜单由上而下展现出来. 这些条目一般有 "文件", "编辑", "帮助" 等.php
下例建立了一个带有简易菜单的窗口:python
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()
上面代码运行后输出以下窗口:segmentfault
全系列:
[译][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