2013-08-07 58 views
2

我想知道如何更改ttk.Notebook創建後的選項卡狀態以及如何正確管理多個選項卡。管理ttk.Notebook中的選項卡(啓用,禁用等)

例子:

import Tkinter as tk 
import ttk 
from myWidgets import Widget1, Widget2, Widget3 

def enableTabs(notebook): 
    tabs = notebook.tabs() 
    for i, item in enumerate(tabs): 
     item['state'] = 'enabled' #This doesn't work 
     item.configure(state='enabled') #Doesn't work either 
if __name__ == '__main__': 
    root = tk.Tk() 

    notebook = ttk.Notebook(root) 

    w1 = Widget1() 
    w2 = Widget2() 
    w3 = Widget3() 

    notebook.add(w1, text='tab1', state='disabled') 
    notebook.add(w2, text='tab2', state='disabled') 
    notebook.add(w3, text='tab3', state='disabled') 

    enableTabs(notebook) #This would be called upon certain events in the real  application 

    root.mainloop() 

在這個例子中,我使用禁用 - 啓用,但總的來說,我希望能夠一次全部更改某些設置。

回答

1

你所說的item只是一個標識符(浮點數),它沒有state鍵或configure方法。此外,在此情況下標籤狀態的可能值爲normal,disabledhidden,而不是enabled。試試這個代替:

for i, item in enumerate(tabs): 
    notebook.tab(item, state='normal') # Does work 
+0

我的壞我認爲tabs()返回的實際標籤對象列表不是一個標識符。你的回答是完美的謝謝。 – Asics