GUI tkinter (Menu) -下拉菜單


添加頂層菜單

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()

示例結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM