[英]Entry box text clear when pressed Tkinter
我不確定是否已經問過這個問題,但是我有多個輸入框,其中包含一段默認文本。 我沒有嘗試設置默認文本,我試圖在單擊輸入框時刪除。 我希望能夠在單擊輸入框后立即刪除默認文本,這樣用戶就不必這樣做了。 我想知道是否有人可以分享一個關於如何完成這個的快速示例,以便我可以實現。
def removeValue(event):
self.entry.delete(0, 'end')
return None
for i in range(1, numberOfStudents + 1):
for p in range(0,2):
self.entry = Entry(self.master)
if p == 0:
self.entry.insert(0, 'Enter name of student')
self.entry.place(x = 10, y = (i * 30) + 26)
self.entry.bind("<Button-1>", removeValue)
if p == 1:
self.entry.insert(0, 'Enter predicted')
self.entry.place(x = (getWidth(master) - 140), y = (i * 30) + 26)
self.entry.bind("<Button-1>", removeValue)
到目前為止我有這個,但只刪除最后一個輸入框文本。
假設你已經整理了你的默認文本,你想在某處創建一個Event綁定,使用上面評論的一般格式,不知道為什么它不是答案,因為它是正確的:
import tkinter as tk
root = tk.Tk()
e = tk.Entry(root)
e.insert(0, "some text")
def some_callback(event): # note that you must include the event as an arg, even if you don't use it.
e.delete(0, "end")
return None
e.bind("<Button-1>", some_callback)
e.pack()
最后, http : //effbot.org是您的朋友: http : //effbot.org/tkinterbook/tkinter-events-and-bindings.htm
編輯:來自評論的OP的附加信息。 如果您有多個條目並且需要單獨清除每個條目,則可以簡單地引用調用綁定方法的小組件
event.widget
您的回調可以按如下方式工作:
def some_callback(event):
event.widget.delete(0, "end")
return None
事件綁定調用的方法被賦予一個事件對象。 此對象引用了觸發事件的窗口小部件。 您可以使用它來清除小部件:
def removeValue(event):
event.widget.delete(0, 'end')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.