我正在尝试根据最近的条目预填充一个文本字段。因为这不是一个列表框,所以我不知道该怎么做,而且我在网上也没有看到任何示例。谢谢。
更新。我设法找到了这样做的部分方法。仍然想知道,是否可以在 Tkinter 中提供建议的文本,当单击文本框时该文本会消失?
from Tkinter import *
app = Tk()
app.title("GUI Example")
app.geometry('560x460+200+200')
x = Text(app)
x.insert(END, "Before")
x.pack()
def replace():
x.delete(1.0, END)
x.insert(END, "After")
abutton = Button(app, text="Click me", command=replace)
abutton.pack()
app.mainloop()
请您参考如下方法:
好吧,我个人不知道有什么选择可以做到这一点(任何给出的答案都会很容易胜过这个)。
但是,您可以通过一些编码来模仿这种行为。即,您可以 bind文本框到一个函数,该函数将为您插入/删除默认文本。
下面是一个简单的脚本来演示:
import Tkinter as tk
tk.Tk()
textbox = tk.Text(height=10, width=10)
textbox.insert(tk.END, "Default")
textbox.pack()
# This is for demonstration purposes
tk.Text(height=10, width=10).pack()
def default(event):
current = textbox.get("1.0", tk.END)
if current == "Default\n":
textbox.delete("1.0", tk.END)
elif current == "\n":
textbox.insert("1.0", "Default")
textbox.bind("<FocusIn>", default)
textbox.bind("<FocusOut>", default)
tk.mainloop()
注意如何:
当您单击顶部文本框时,默认文本会消失。
当您单击底部文本框时,顶部文本框失去焦点,默认文本重新出现。
只有当顶部文本框中没有任何内容时才会出现此行为。
