如何在Tkinter中添加占位符

时间:2017-07-20 14:04:26

标签: python tkinter onclick

如何在tkinter的条目中添加占位符?我不相信它有像HTML这样的占位符函数。我想通过单击它来使文本消失,您将不得不添加onclick事件,但如何创建onclick事件以及如何使文本显示在第一个地点?这是我正在使用的代码。

我想说“在这里输入你的整数”

文本框

    vcmd = (self.register(self.onValidate), '%S')
    self.text = Entry(self, validate='key', vcmd=vcmd)
    self.text.pack()

def onValidate(self, S):
    if S in '0123456789.':
        return True
    return False

def clear_entry(self):
    self.text.delete(0, END)
    self.text.pack()

1 个答案:

答案 0 :(得分:1)

据我所知,你不能像HTML一样添加占位符,但你可以做出类似的行为。当您进入时,您可以执行类似>

的操作
from tkinter import *   

def clear_entry(event, entry):
    entry.delete(0, END)

root = Tk()

entry = Entry(root)

entry.pack()
placeholder_text = 'some text'
entry.insert(0, placeholder_text)

entry.bind("<Button-1>", lambda event: clear_entry(event, entry))

root.mainloop()
P.S:我从头开始写这个,没有测试过它