在以下示例中,我已將Notebook設置爲不使用焦點,以便在使用支持的快捷方式從小部件導航到小部件時跳過其選項卡通過enable_traversal()
。這主要起作用,但不完全。如果選項卡已被顯示(但沒有焦點),則按其<Alt-Key>
下劃線樣式的快捷鍵可以使焦點集中。我怎樣才能防止這一點?takefocus = NO無法防止tkinter.ttk.Notebook選項卡無法關注
from tkinter import *
from tkinter import ttk
root = Tk()
nb = ttk.Notebook(root, takefocus = NO)
nb.enable_traversal()
f1 = Frame(nb)
b1a = Button(f1, text = 'Charlie')
b1b = Button(f1, text = 'Delta')
f2 = Frame(nb)
b2a = Button(f2, text = 'Echo')
b2b = Button(f2, text = 'Foxtrot')
b1a.pack()
b1b.pack()
b2a.pack()
b2b.pack()
f1.pack()
f2.pack()
nb.pack()
nb.add(f1, text = 'Alpha', underline = 0)
nb.add(f2, text = 'Bravo', underline = 0)
請閱讀[docs](http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-Notebook.html),瞭解採用哪種生成聚焦的方法。它可以防止筆記本本身通過焦點遍歷來獲得焦點。不是標籤。 – R4PH43L
爲了清楚起見,我想阻止筆記本頂部的選項卡標籤聚焦,而不是每個選項卡包含的框架。我試圖設置每個選項卡不像這樣聚焦:'nb.tab(0)['takefocus'] = NO'然而,我懷疑這設置選項卡包含的幀,而不是選項卡的標籤。由於不可見小工具默認爲不焦點,因此未觀察到任何變化。 – IJKLefty
標籤本身應受筆記本本身設置爲'takefocus = NO'的影響。裏面的框架是一個不同的問題,但作爲基本筆記本的一部分的tabctrl本身應該是這樣的。 但是:如果我沒有弄錯,選項只會帶有什麼。所以你應該在添加最後一個標籤之後進行設置。 – R4PH43L