Tkinter之Menu組件用法

Tkinter之Menu組件用法

    開發工具類桌面應用使用Python、Java這類語言是一種不錯的選擇,他們的GUI庫均可以很好的支持跨平臺特性。本系列博客主要總結Tkinter庫中提供的UI組件,關於Java的GUI開發,感興趣的能夠在以下系列博客中找到:python

https://my.oschina.net/u/2340880/blog?catalog=5647945&temp=1509528194945ide

    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 用於單選按鈕或切換按鈕
相關文章
相關標籤/搜索