2017-06-05 1166 views
0

當我在Entry小部件中輸入輸入值a並點擊Click Me。該按鈕調用takes_input()方法,該方法更新Text小部件。看起來是這樣的:如何清除tkinter中來自Entry小部件的以前輸入?

enter image description here

再次輸入下一個輸入值b它與前值追加的樣子:

enter image description here

我的代碼:

from tkinter import *  

# def func for button callback 


def takes_input(): 
    textBox.insert(INSERT, inputBox_val.get()) 

# object for windows 
window = Tk() 
window.title("Learning GUI") 

inputBox_val = StringVar() 

# create button on windows 
myBtn = Button(window, text="Click Me", command = takes_input)   

myBtn.grid(row = 0, column = 0) 


# input filed 
inputBox = Entry(window, textvariable = inputBox_val) 
inputBox.grid(row = 0, column = 1) 


# textBox filed 
textBox = Text(window, height = 1, width = 20) 
textBox.grid(row = 0, column =2) 

window.mainloop()   

問題是:

我想清除之前從Entry小部件輸入的內容,當我再次單擊Click Me按鈕時。

我該怎麼做?

+0

你需要做'inputBox.delete(0,'end')'清除整個輸入框。 –

+0

@ChristianDean上面的問題解決了我的問題,我有搜索但沒有找到,現在我應該刪除它還是投票關閉? –

+2

這很好。把它留下吧。它可以作爲答案的指針。只要確保你在將來做更多的研究;-) –

回答

1

您必須使用delete('1.0', END)清除文本。在你的情況下:

def takes_input(): 
    textBox.delete('1.0', END) 
    textBox.insert(INSERT, inputBox_val.get()) 
相關問題