2016-12-11 36 views
-1

比如:當點擊時,留下一個空白輸入字段如何讓進入默認的文本消失

from Tkinter import * 
root = Tk() 

e1 = Entry(root) 
e1.insert(END, "ex. new file") #would like to make this text disappear when clicked 
e1.grid(row=0, column=0) 

root.mainloop() 

凡文本「前newfile中」消失。

回答

1
  1. 創建一個布爾型標誌來監視條目是否被訪問;將其設置爲False,
  2. 將「< Button-1 >」綁定到一個函數,該函數在條目尚未被訪問時將其清除,並將該標誌更改爲True
+0

你能舉一個例子 – peer

+1

你可以閱讀有關此事件綁定到小部件:http://effbot.org/tkinterbook/tkinter-事件-和bindings.htm。您需要定義一個清除Entry的函數,並在必要時將其綁定到條目。 – DyZ

0

新增

def delete_text(event): 
    if default_text: 
    e1.delete(0, END) 
    default_text = False 

default_text = True 
e1.bind("<Button-1>", delete_text) 

感謝DYZ和effbot

+0

這將_always_刪除文本。我雖然只想刪除原始的默認文本。 – DyZ

+0

對我來說很有意義,但是:這讓我UnboundLocalError:局部變量「default_text」分配之前提到,當我點擊輸入框,並不再刪除文本。 – peer

+0

糟糕,只是在函數定義之前移動它的定義。 – DyZ