Tkinter 選單欄

Tkinter 工具包附帶了建立圖形應用程式的所有基本控制元件。幾乎每個應用程式都有一個主選單。正如所料,Tkinter 支援在應用程式視窗中新增主選單。

下面的螢幕截圖演示了一個基於 Tkinter 的選單:

![Tkinter 選單](/img/Tutorial/Tkinter/Tkinter Menubar.png)

Tkinter 選單欄

你可以使用下面的程式碼使用 Tkinter 建立一個 simle 選單。每個選項(newopensave ..)都應該有自己的回撥函式。

from Tkinter import *

def donothing():
   x = 0

root = Tk()

menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=donothing)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)

helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label="Help Index", command=donothing)
helpmenu.add_command(label="About...", command=donothing)
menubar.add_cascade(label="Help", menu=helpmenu)

root.config(menu=menubar)
root.mainloop()

我們通過呼叫建立選單欄:

menubar = Menu(root)

其中 rootTk() 物件。

選單欄可以包含零個或多個子選單,例如檔案選單,編輯選單,檢視選單,工具選單等。

可以使用相同的 Menu() 呼叫建立子選單,其中第一個引數是要附加到的選單欄。

filemenu = Menu(menubar, tearoff=0)
menu = Menu(menubar, tearoff=0)

可以使用 add_command() 方法將各個選項新增到這些子選單:

filemenu.add_command(label="New", command=donothing)
filemenu.add_command(label="Open", command=donothing)
filemenu.add_command(label="Save", command=donothing)

在示例中,我們建立了回撥函式 donothing(),併為了簡單起見將每個命令連結到它。使用 add_comment() 函式新增一個選項。我們呼叫 add_cascade() 將此選單列表新增到特定列表中。