已獲原做者受權. 原系列地址: 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