我正在尝试根据最近的条目预填充文本字段。由于这不是一个列表框,我不知道如何做到这一点,我没有在网上看到任何例子。谢谢。
更新。我已经设法找到了部分方法。仍然想知道,是否有可能在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()
答案 0 :(得分:1)
嗯,我个人不知道有任何选择这样做(任何给出一个的答案都会轻易胜过这一个)。
但是,您可以通过一些编码来密切模仿这种行为。也就是说,您可以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()
请注意:
单击顶部文本框时,默认文本将消失。
单击底部文本框时,顶部文本框失去焦点,重新出现默认文本。
仅当顶部文本框中没有任何内容时才会出现此行为。