在切换到新的ttk笔记本选项卡python时,如何防止entrybox获得焦点?

时间:2015-11-06 10:34:19

标签: python tkinter ttk

[CODE]

from Tkinter import *
from ttk import *

root = Tk()
noteBook = Notebook(root)
root.focus()
tab1 = Frame(noteBook)
tab2 = Frame(noteBook)
Label(tab2, text='Test', width=15).grid(row=3,column=0, sticky=W)
Entry(tab2, width=40).grid(row=3,column=1)
noteBook.add(tab1, text = "tab 1", compound=TOP)
noteBook.add(tab2, text = "tab 2")
noteBook.pack()
root.mainloop()

[CURRENT OUTPUT]当我点击tab2时,entryBox会被聚焦。

[DESIRED OUTPUT]不应该关注entryBox。

[注意]如果我双击tab2,它就会得到焦点。即使注释掉'root.focus()'这一行,entryBox仍然具有焦点。

1 个答案:

答案 0 :(得分:1)

您可以在takeFocus上将False设置为Entry

from Tkinter import *
from ttk import *

root = Tk()
noteBook = Notebook(root)
root.focus()
tab1 = Frame(noteBook)
tab2 = Frame(noteBook)
Label(tab2, text='Test', width=15).grid(row=3,column=0, sticky=W)
Entry(tab2, width=40, takefocus=False).grid(row=3,column=1)
noteBook.add(tab1, text = "tab 1", compound=TOP)
noteBook.add(tab2, text = "tab 2")
noteBook.pack()
root.mainloop()