開發工具類桌面應用使用Python、Java這類語言是一種不錯的選擇,他們的GUI庫均可以很好的支持跨平臺特性。本系列博客主要總結Tkinter庫中提供的UI組件,關於Java的GUI開發,感興趣的能夠在以下系列博客中找到:python
https://my.oschina.net/u/2340880/blog?catalog=5647945&temp=1509528194945。ide
Tkinter中有提供Menu菜單組件中能夠添加以下幾種組件:函數
1_動做項:簡單的行爲按鈕,用戶點擊後會執行相應的方法。工具
2_子菜單:行爲完整的子菜單項。佈局
3_控制按鈕:可有選中與非選中狀態,用來作開關。post
4_單選列表:一組單選按鈕。開發工具
爲一個窗口添加菜單十分容易,示例代碼以下:字體
root = Tk() rootMenu = Menu(root) root.config(menu=rootMenu) item = Menu(master=rootMenu,postcommand=call,tearoff=1) rootMenu.add_cascade(menu=item,label="File") item.add_command(label='new File') subItem = Menu(item) subItem.add_command(label="Open in noew window") item.add_cascade(menu=subItem,label="Open")
效果以下圖所示:spa
Menu構造函數中第1個參數能夠傳入菜單所屬的窗口或者父菜單,後面能夠添加一些菜單配置,例如:.net
屬性 | 意義 |
activebackground | 活躍時的背景色 |
activeborderwidth | 活躍時的邊框寬度 |
activeforeground | 活躍時的前景色 |
bg 或者 background | 正常狀態背景色 |
bd 或者 borderwidth | 正常狀態變寬寬度 |
cursor | 鼠標樣式 |
disabledforeground | 無效狀態的前景色 |
font | 菜單字體 |
fg 或者 foreground | 正常狀態的前景色 |
postcommand | 設置菜單被喚出時的回調 |
relief | 設置菜單浮雕效果 |
selectcolor | 設置菜單選中顏色 |
tearoff | 能夠設置爲0和1,表示此菜單是否能夠獨立出來 |
tearoffcommand | 菜單獨立被觸發時的回調 |
title | 可設置獨立菜單的標題 |
須要注意,在MacOS系統上,菜單的樣式是由系統維護的,上面的大多屬性都將沒有效果。
下面這些方法用來進行菜單配置:
#添加一個子菜單 coption爲配置選項 add_cascade(coption...) #添加一個切換按鈕 coption爲配置選項 add_checkbutton(coption...) #添加一個功能按鈕 coption爲配置選項 add_command(coption...) #添加一個單選按鈕 coption爲配置選項 add_radiobutton(coption...) #添加一個分割線 add_separator() #刪除index1 到 index2之間的選項 delete(index1,index2) #獲取菜單某一項的屬性值 entrycget(index,coption) #從新配置菜單中某項的屬性 entryconfigure(index,coption...) #返回參數位置對應的選項索引 index(i) #在指定位置插入一個子菜單 insert_cascade(index,coption...) #在指定位置插入一個切換按鈕 insert_checkbutton(index,coption...) #在指定位置插入一個功能按鈕 insert_command(index,coption...) #在指定位置插入一個單選按鈕 insert_radiobutton(index,coption...) #在指定位置插入一個分割線 insert_separator(index) #代碼手動調用一次某個選項 invoke(index) #在窗口指定位置彈出菜單 post(x,y) #獲取個選項的類型 type(index) #獲取某個選項距離菜單頂部的偏移量 yposition(n) #添加一個選項 能夠是功能按鈕,切換按鈕,單選按鈕或子菜單,由類型確認 #類型可選 cascade checkbutton command radiobutton separator add(kind,coption)
上面列舉方法中的coption用來進行一些配置項的設置,可選配置項以下:
屬性名 | 意義 |
accelerator | 設置快捷鍵 |
activebackground | 激活狀態背景色 |
activeforeground | 激活狀態前景色 |
background | 正常狀態背景色 |
bitmap | 設置bitmap圖標 |
columnbreak | 設置分列 |
command | 設置激活時的回調函數 |
compound | 設置展現文本和圖標是的佈局方式 |
font | 設置字體 |
foreground | 設置正常狀態的前景色 |
hidemargin | 設置是否隱藏外邊距 設置True或False |
image | 設置圖片 gif格式 |
label | 設置顯示的文本 |
menu | 這個選項只用在添加子菜單中 |
offvalue | 設置checkbutton關閉時的值 |
onvalue | 設置checkbutton開啓時的值 |
selectcolor | 設置選中狀態的顏色 |
selectimage | 設置選中狀態的圖像 |
state | 設置選項狀態,DISABLED或ACTIVE |
underline | 設置下劃線 |
value | 選項的值 |
variable | 用於單選按鈕或切換按鈕 |