本篇文章主要講下tkinter 的文本框相關.
tkinter中用Entry來實現輸入框,類似于android中的edittext.
具體的用法如下:
1:空白輸入框
如下:
name = tk.Entry(window)
name.pack()
2: 設置輸入框的默認文案
name = tk.Entry(window)
name.pack()
name.insert(tk.END, "請輸入姓名")
此時,并不是如edittext的hint屬性,insert之后,在獲取時,是可以獲取到具體的值的.
3: 獲取輸入框文案
name.get()
調用get函數可以獲取到輸入框的輸入文案,如2: 獲取到的值就是 “請輸入姓名” .
4:刪除輸入框文案
# 點擊文本框時清除文本
def delete(event):name.delete(0, tk.END)
調用delete ,實現點擊輸入框時清除文案.
5:設置輸入框密文
tk.Entry
的show
參數可以用來設置輸入框中的內容是否顯示明文或者隱藏。當show
參數設置為*
時,輸入框中的內容將會以星號的形式顯示.
如下:
pwd = tk.Entry(window, show='*')
pwd.pack()
6:設置輸入框僅輸入數字
Tkinter中的validatecommand選項來限制tk.Entry中只能輸入數字.
validatecommand選項可以指定一個回調函數,該函數在每次輸入時都會被調用。在該函數中,我們可以檢查輸入的字符是否為數字,如果是,則返回True,否則返回False,從而限制輸入.
label = tkinter.Label(window, text='請輸入密碼')
label.pack()def validate_input(text):if text.isdigit() or text == "":return Trueelse:return Falsepwd = tk.Entry(window, show='*', validate="key")
pwd['validatecommand'] = (pwd.register(validate_input), '%P')
pwd.pack()
嘗試輸入字母或其他字符,它們將被忽略.