takefocus = NO无法阻止tkinter.ttk.Notebook标签聚焦

时间:2016-07-06 10:16:07

标签: python tkinter ttk

在下面的示例中,我将Notebook设置为不进行焦点,以便在使用enable_traversal()支持的快捷方式从窗口小部件导航到窗口小部件时跳过其选项卡。这主要是有效的,但并不完全。如果已经显示了一个选项卡(但没有焦点),则按下其<Alt-Key>下划线样式快捷键可使其获得焦点。我该如何防止这种情况?

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)

1 个答案:

答案 0 :(得分:0)

为什么然后添加underline=0?删除两行中的那段代码。此外,在添加选项卡时添加另一个参数takefocus=False。并在创建笔记本时删除takefocus