禁用 tkinter 小部件的焦点?
Disable focus for tkinter widgets?
如何制作一个在 tkinter 中永远不会获得焦点的小部件?
例如,一个按钮,当我按下 TAB 键时,焦点将跳过他
我找时间来提供一个工作示例:
import tkinter
root = tkinter.Tk()
but1 = tkinter.Button(root, text ="Button 1")
but1.pack()
butNoFocus = tkinter.Button(root, text ="Button no focus", takefocus = 0)
butNoFocus.pack()
but2 = tkinter.Button(root, text = "Button 2")
but2.pack()
root.mainloop()
将 takefocus
选项设置为 0
将禁用 butNoFocus
上的选项卡焦点。
我知道这是一个老问题,但对于任何未来的读者来说,删除小部件的循环焦点的更简单方法是解除绑定 <<NextWindow>>
,如 Bryan Oakley 在 [=13] 中所述=].
import tkinter as tk
root = tk.Tk()
button1 = tk.Button(root, text='Hello') # Two example buttons
button2 = tk.Button(root, text='World!')
button1.pack(ipadx=15, ipady=10)
button2.pack(ipadx=10, ipady=10)
root.unbind_all('<<NextWindow>>') # Unbinding the behavior that causes Tab Cycling
root.mainloop()
这将禁用使用 Tab 循环所有小部件,如果您想删除单个小部件的循环焦点,将 -takefocus
设置为 0 会更容易
如何制作一个在 tkinter 中永远不会获得焦点的小部件? 例如,一个按钮,当我按下 TAB 键时,焦点将跳过他
我找时间来提供一个工作示例:
import tkinter
root = tkinter.Tk()
but1 = tkinter.Button(root, text ="Button 1")
but1.pack()
butNoFocus = tkinter.Button(root, text ="Button no focus", takefocus = 0)
butNoFocus.pack()
but2 = tkinter.Button(root, text = "Button 2")
but2.pack()
root.mainloop()
将 takefocus
选项设置为 0
将禁用 butNoFocus
上的选项卡焦点。
我知道这是一个老问题,但对于任何未来的读者来说,删除小部件的循环焦点的更简单方法是解除绑定 <<NextWindow>>
,如 Bryan Oakley 在 [=13] 中所述=].
import tkinter as tk
root = tk.Tk()
button1 = tk.Button(root, text='Hello') # Two example buttons
button2 = tk.Button(root, text='World!')
button1.pack(ipadx=15, ipady=10)
button2.pack(ipadx=10, ipady=10)
root.unbind_all('<<NextWindow>>') # Unbinding the behavior that causes Tab Cycling
root.mainloop()
这将禁用使用 Tab 循环所有小部件,如果您想删除单个小部件的循环焦点,将 -takefocus
设置为 0 会更容易