【问题标题】:Tkinter Entry box default text [duplicate]Tkinter 输入框默认文本 [重复]
【发布时间】:2026-01-02 10:45:02
【问题描述】:

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

【问题讨论】:

标签: python tkinter text textbox


【解决方案1】:

为此,您只需将默认文本插入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()

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

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

【讨论】:

  • IMO,最好绑定FocusIn
  • @CoolCloud 对,因为键盘焦点,会编辑,它也允许其他解决方案