python tkinter使用(四)
本篇文章主要讲下tkinter 的文本框相关.
tkinter中用Entry来实现输入框,类似于android中的edittext.
具体的用法如下:
1:空白输入框
如下:
python
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
参数设置为*
时,输入框中的内容将会以星号的形式显示.
如下:
python
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 True
else:
return False
pwd = tk.Entry(window, show='*', validate="key")
pwd['validatecommand'] = (pwd.register(validate_input), '%P')
pwd.pack()
尝试输入字母或其他字符,它们将被忽略.