TKinter Entry输入框组件

Entry组件是Tkinter中最常用的图形组件之一,用于接收用户的输入,实现程序与用户的交互。常用于一些表单、数据录入等情景。

常用属性

属性名 说明
background 背景色
foreground 前景色 文字颜色
justify 文本的对齐方式。取值范围 left(左)、center(中)、right(右)。
width 输入框宽度
textvariable 指定一个变量,设置展示的文本,并在变量变化时,界面展示的文本自动更新
show 当用作密码框时,show="*"

常用方法

方法名 说明
delete() 删除内容,传入要删除文字的起始下标
get() 获取输入框的值
insert() 在文本框中插入指定文本

数据验证

要开启数据验证,需要设置以下三个选项。

属性 说明
validate 触发验证的方式。
validatecommand 绑定验证方法
invalidcommand 验证失败的处理

validate 取值说明

  • focus:获得或者失去焦点的时候验证。
  • focusin:获得焦点的时候验证。
  • focusout:失去焦点的时候验证。
  • key:当输入框被编辑的时候验证。
  • all:以上情况都验证。
  • none:关闭验证。默认值。

validatecommand 选项需要绑定一个验证方法,该方法只返回布尔值,代表验证是否通过。

invalidcommand 选项用于处理验证未通过的情况,只有在 validatecommand绑定的方法返回False才执行。

Entry组件示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import tkinter as tk
import tkinter.ttk as ttk
from tkinter import messagebox

win = tk.Tk()
win.geometry("300x100")


def msg():
    messagebox.showerror("提示", message="密码错误")


def rule():
    print(txt.get())
    return txt.get() == "123456"


txt = ttk.Entry(win)

txt.configure(validate="focusout", validatecommand=rule, invalidcommand=msg)
txt.pack()
ttk.Entry(win).pack()
win.mainloop()

Entry数据验证示例 Entry数据验证示例

站长微信
请备注来意
二维码