Tkinter 输入框默认文本

Tkinter Entry box default text

如何在 python Tkinter 中为输入框默认文本编写代码? 我想添加一个默认文本,当我点击输入框时它会立即消失。

要做到这一点,您只需将默认文本插入 Entry,然后将 Entry 绑定到获取焦点并删除条目中的所有内容并取消绑定小部件,这样它就不会' 下次用户单击时删除其中的所有内容。

import tkinter as tk


def clear_default(event):
    event.widget.delete(0, 'end')
    event.widget.unbind('<FocusIn>')


root = tk.Tk()

entry = tk.Entry()
entry.pack(padx=10, pady=10)

entry.insert(0, 'Default Text')
entry.bind('<FocusIn>', clear_default)

root.mainloop()

如果它是默认值而不仅仅是占位符,那么您可以在小部件获得焦点时不删除,select小部件中的所有内容,以便当用户开始输入时select离子被删除。如果用户想要编辑他们的条目,这也会有所帮助:

entry.bind('<FocusIn>', lambda e: e.widget.select_range(0, 'end'))