Python tk entry 获得焦点
在Python的Tkinter中,要使Entry
组件获得焦点(即光标出现在Entry
上),你可以使用focus_set()
方法。以下是一个简单的例子:
import tkinter as tk
def on_entry_click(event):
entry.delete(0, tk.END) # 清空Entry中的默认文本
entry.config(fg='black') # 将文本颜色设置为黑色
root = tk.Tk()
# 创建一个Entry组件
entry = tk.Entry(root, fg='grey')
entry.insert(0, '请输入文本...')
entry.bind('<FocusIn>', on_entry_click) # 绑定获得焦点时的事件处理函数
# 设置默认焦点
entry.focus_set()
entry.pack(padx=10, pady=10)
root.mainloop()
在这个例子中,我创建了一个Entry
组件,设置了默认文本为"请输入文本...",并给它绑定了一个<FocusIn>
事件,该事件在组件获得焦点时触发。在事件处理函数on_entry_click
中,我清空了Entry
中的默认文本,并将文本颜色设置为黑色。
最后,通过调用entry.focus_set()
,我将默认焦点设置在Entry
上,这样运行程序时光标就会出现在Entry
组件内。