Python怎么使用Tkinter GUI实现输入验证功能
导读:本文共3510字符,通常情况下阅读需要12分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 1、Tkinter 验证简介Tkinter 验证依赖于可用于任何输入小部件(例如 Entry 小部件)的三个选项:validate:指定哪种类型的事件将触发验证。validatecommand:检查数据是否有效invalidcommand:当数据无效时执行。 换句话说,如果 validate 命令返回 False,它将执行。1.1 validate命令valid... ...
目录
(为您整理了一些要点),点击可以直达。Tkinter 验证依赖于可用于任何输入小部件(例如 Entry 小部件)的三个选项:
validate:指定哪种类型的事件将触发验证。
validatecommand:检查数据是否有效
invalidcommand:当数据无效时执行。 换句话说,如果 validate 命令返回 False,它将执行。
validate 命令可以是以下字符串值之一:
validatecommand 是一个元组,包含:
对 Tcl/tk 函数的引用。
零个或多个替换代码指定触发要传递给函数的事件的信息。
要获取对 Tck/tk 函数的引用,请将可调用对象传递给 widget.register() 方法。 它返回一个可以与 validate 命令一起使用的字符串。
下表显示了可用于元组的替换代码:
以下示例构造一个使用 self.validate() 方法和 %P 替换代码的 validatecommand:
与 validatecommand 一样,invalidcommand 也需要使用 widget.register() 方法和替换代码。
以下示例返回一个元组,您可以将其传递给 invalidcommand 选项:
下面将创建一个包含电子邮件输入的表单。 如果输入了无效的电子邮件地址,它将显示一条错误消息并将电子邮件输入的文本颜色更改为红色。 当焦点移出条目时,我们将触发验证事件。
示例代码如何工作?
第一步,使用 self.validate() 方法和 %P 替换代码创建一个验证命令:
第二步,创建使用 self.on_invalid 方法的 invalidatecommand:
第三步,配置使用validation
、validatecommand
和invalidatecommand
的Entry小部件:
第四步,定义改变 label_error 小部件的文本和 email_entry 小部件的文本颜色的 show_message() 方法:
第五步,定义验证 email_entry 值的 validate() 方法。
如果输入文本有效,则 validate() 方法返回 True,否则返回 False。 如果输入文本是有效的电子邮件地址,请调用 show_message() 隐藏错误消息并将文本颜色设置为黑色。
如果输入文本不是有效的电子邮件地址,Tkinter 将执行 on_invalid() 方法。
最后,定义显示错误消息的 on_invalid() 方法并将 email_entry 小部件的文本颜色设置为红色。
Python怎么使用Tkinter GUI实现输入验证功能的详细内容,希望对您有所帮助,信息来源于网络。