本篇文章主要讲下tkinter 的文本框相关.
tkinter中用Entry来实现输入框,类似于android中的edittext.
具体的用法如下:
如下:
name = tk.Entry(window) name.pack()
name = tk.Entry(window) name.pack() name.insert(tk.END, "请输入姓名")
此时,并不是如edittext的hint属性,insert之后,在获取时,是可以获取到具体的值的.
name.get()
调用get函数可以获取到输入框的输入文案,如2: 获取到的值就是 "请输入姓名" .
# 点击文本框时清除文本 def delete(event): name.delete(0, tk.END)
调用delete ,实现点击输入框时清除文案.
tk.Entry
的show
参数可以用来设置输入框中的内容是否显示明文或者隐藏。当show
参数设置为*
时,输入框中的内容将会以星号的形式显示.
如下:
pwd = tk.Entry(window, show='*') pwd.pack()
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()
尝试输入字母或其他字符,它们将被忽略.