添加頂層菜單
1、我們可以使用Menu類來新建一個菜單,Menu和其他的組件一樣,第一個是parent,這里通常可以為窗口。
2、然后我們可以用add_command方法來為它添加菜單項,
a.如果該菜單是頂層菜單,則添加的菜單項依次向右添加。
b.如果該菜單是頂層菜單的一個菜單項,則它添加的是下拉菜單的菜單項。
3、add_command 中的參數常用的有 label 屬性,用來指定的 是菜單項的名稱,command 屬性用來指定被點擊的時候調用的方法,acceletor 屬性指定的是快捷鍵,underline 屬性是是否擁有下划線。
4、最后可以用窗口的 menu 屬性指定我們使用哪一個作為它的頂層菜單。
存在子菜單
1、需要使用 add_cascade,cascade 可以理解為“級聯”,即它的作用只是為了引出后面的菜單。
2、add_cascade 的一個很重要的屬性就是 menu 屬性,它指明了要把那個菜單級聯到該菜單項上,當然,還必不可少 的就是 label 屬性,用於指定該菜單項的名稱。
3、我們先新建一個 Menu 的實例,然后使用 add_command 來 添加菜單項,這樣等該菜單建立完畢,我們要把它作為另一個菜單項的子菜單,就需要使用 add_cascade 方法。
示例代碼
from tkinter import *
root = Tk()
root.wm_title("菜單")
root.geometry("400x300+300+100")
# 創建一個頂級菜單實例
menubar = Menu(root)
"""
for item in ['文件','編輯','視圖','關於']:
menubar.add_command(label=item)
"""
fmenu = Menu(menubar) # 在 menubar菜單實例上建立新的子菜單實例
for item in ['新建','打開','保存','另存為']:
fmenu.add_command(label = item)
emenu = Menu(menubar) # 在 menubar菜單實例上建立新的子菜單實例
for item in ['復制','粘貼','剪切']:
emenu.add_command(label = item)
vmenu = Menu(menubar) # 在 menubar菜單實例上建立新的子菜單實例
for item in ['默認視圖','新式視圖']:
vmenu.add_command(label = item)
amenu = Menu(menubar) # 在 menubar菜單實例上建立新的子菜單實例
for item in ['版權信息','其他說明']:
amenu.add_command(label = item)
# 在 menubar 上設置子菜單名,並關聯一系列子菜單
menubar.add_cascade(label = "文件",menu = fmenu)
menubar.add_cascade(label = "編輯",menu = emenu)
menubar.add_cascade(label = "視圖",menu = vmenu)
menubar.add_cascade(label = "關於",menu = amenu)
# 顯示菜單
root.config(menu = menubar) # 將root根窗口的頂級菜單設置為menu
# root['menu'] = menubar ,兩種方式均可
mainloop()