python tkinter使用(四)

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.Entryshow参数可以用来设置输入框中的内容是否显示明文或者隐藏。当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()

尝试输入字母或其他字符,它们将被忽略.