切换到新的 ttk 笔记本标签 python 时,如何防止输入框获得焦点?
How can I prevent entrybox to get focus when switching to a new ttk notebook tab python?
[代码]
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 仍然具有焦点。
您可以在 Entry
上将 takeFocus
设置为 False
。
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()
[代码]
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 仍然具有焦点。
您可以在 Entry
上将 takeFocus
设置为 False
。
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()