Tkinter (31) 筆記本部件 ttk.Notebook

Jason990420發表於2020-08-27

ttk 筆記本部件的建立及其選項

筆記本部件, 每一個選項卡都含有一個子窗格, 使用tabId 來區分各個選項卡, tabId 可以是整數的索引, 子部件, “@x, y” 相對座標處, “current” 目前選定的. 每一個字窗格通常是一個Frame 部件, 也可以是任何部件.

w = ttk.Notebook(parent, option=value, ...)
選項 說明
class_ 部件分類名稱, 建立後不能改變
cursor 滑鼠懸停在按鈕上時顯示的滑鼠, 空字串則繼承父部件的選項
height 部件的高度, 點素
padding 增加部件內容的外部間隔
style 生成部件的樣式
takefocus 鍵盤聚焦, False 或 True (內定)
width 部件寛度點素

ttk 筆記本部件的方法

除了 ttk 筆記本部件的通用方法外, 還有以下各個方法

方法 說明
add(child, **kw) 增加子部件, 通常是Frame, 作為子窗格, kw 為其選項; 如果不是部件的子窗格, 將作為下一個選項卡; 如果child 是一個現有的隱藏子窗格, 該選項卡將會重新出現在原有的位置
enable_traversal() 使用其他一些鍵可以繫結, Control-Tab 選擇下一個選項卡, Shift-Control-Tab 選擇上一個選項卡, Alt-x 選項卡字串中底線字x; 如果應用中有多個筆記本部件, 可能會工作的不太正常, 除非每個子視窗都是以其筆記本部件為父部件
forget(child) 從部件中永久刪除指定的子部件
hide(tabId) 從部件中可見的選項卡集合中暫時刪除, 可以呼叫 add 方法來恢復
index(tabId) 返回部件中選項卡 tabId 的索引值, 如果是 ‘end’ 則返回選項卡的數量
insert(where, child,**kw) 部件在 where 位置插入子部件 child, kw 為選項卡的選項; where “end” 為最後位置, 或放在某一個子部件之前
select([tabId]) 無引數返回部件的視窗名, 其選項卡正顯示中; 提供引數則顯示該選項卡
tab(tabId, option=None, **kw) 設定或返回 tabId 所指的子窗格的選項, 如果無選項, 返回值為目前有效的字典值; 有選項則返回選項值
tabs() 返回筆記本部件的子窗格的視窗名列表

ttk 筆記本部件選項卡的選項 **kw

| 選項 | 說明 |
| compound | 圖與文字共用時,圖相對於文字的位置. LEFT/RIGHT/TOP/BOTTOM/CENTER |
| image | 選項卡的圖片 |
| padding | 窗格四周外圍額外的間隔 |
| sticky | 窗格在定位, 其引數同 grid() 方法的 sticky 引數用法 |
| text | 選項卡的字串 |
| underline | 設定下底線的位置,內定 -1 為無 |

ttk 筆記本部件的虛擬事件

選定的選項卡改變時, 都會產生一個 "<<NotebookTabChanged>>" 虛擬事件

待續

本作品採用《CC 協議》,轉載必須註明作者和本文連結
Jason Yang

相關文章