Python Tkinter 中的 Entry 小部件验证2025年3月17日 | 阅读 7 分钟 Python 编程语言提供了多种用于处理图形用户界面 (GUI) 应用程序的框架。Tkinter 或 Tk 接口是 Python 中最常用的接口之一,用于构建基于图形用户界面 (GUI) 的应用程序。某些应用程序需要验证文本字段,以防止用户在提交表单之前输入无效信息。Python 通过允许使用回调函数跟踪变量来实现输入验证。当输入被添加到 Tkinter 包的 Entry 小部件或从 Entry 小部件中删除时,就会调用此函数。 在接下来的教程中,我们将学习如何使用 Tkinter 包验证用户输入。 那么,让我们开始吧。 Tkinter 验证简介验证在 Python Tkinter 中意味着正式声明用户输入可接受。换句话说,验证是指检查用户提供的信息是否符合要求。 主要有三种类型的验证:
Python Tkinter 中的验证依赖于我们可以用于任何输入小部件(如 **Entry()** 小部件)的三个参数或属性:
现在,让我们简要了解这些参数或命令的一些基本概念。 validate 参数validate 参数可以是以下字符串值之一:
validatecommand 参数validatecommand 参数是一个元组,包含:
我们将通过 **widget_name.register()** 方法传递一个可调用对象,以获取 Tcl/Tk 函数的引用。此方法将返回一个字符串,我们可以在 **validatecommand** 选项中使用。 让我们来看下面的表格,它显示了我们可以与元组一起使用的替换代码:
让我们考虑以下示例,使用 **self.validate()** 方法和 **%P** 替换代码来构建一个 **validatecommand** 选项: 示例 invalidcommand 参数与 **validatecommand** 参数类似,**invalidcommand** 参数还需要使用 **widget_name.register()** 方法和替换代码。 让我们考虑以下示例,它通过传递到 **invalidcommand** 选项来返回一个元组: 示例 基于 Tkinter 验证的示例在此示例中,我们将创建一个包含电子邮件输入的表单。如果输入的电子邮件地址无效,它将显示错误消息并更改电子邮件输入的颜色。此外,当焦点移出输入框时,我们将触发验证事件。 让我们来看以下代码片段,以了解上述陈述的实现。 程序代码 输出 1:如果输入的电子邮件地址有效。 ![]() 输出 2:如果输入的电子邮件地址无效。 ![]() 上述示例中的验证是如何工作的?首先,我们使用 **self.validate()** 方法和 **%P** 替换代码创建了一个 **validate** 命令。 语法 其次,我们创建了使用 **self.on_invalid()** 方法的 **invalidcommand** 命令。 语法 接下来,我们配置了使用 **validate、validatecommand** 和 **invalidcommand** 参数的 Entry 小部件。 语法 此外,我们定义了 **displayMessage()** 方法,该方法会更改 **error_label** 小部件的文本以及 **email_field** 小部件的文本颜色。 语法 然后,我们定义了另一个方法 **validate()**,该方法执行对 **email_field** 小部件的值的验证。 语法 上述代码片段中的 **validate()** 方法在输入文本有效时返回 **True**;否则,它返回 **False**。如果输入的文本是有效的电子邮件地址,则调用 **displayMessage()** 方法来隐藏错误消息并将文本颜色设置为黑色。 如果输入的文本被证明是无效的电子邮件地址,Tkinter 将运行 **on_invalid()** 方法。 最后,我们定义了 **on_invalid()** 方法来显示错误消息并将 **email_field** 小部件的文本颜色设置为红色。 语法 结论
下一个主题Python 随机打乱 |
在本教程中,我们将学习用于 PDF 数据提取以供进一步分析的 Python 库。我们将介绍基本的 Python 库。PDF 是一种可移植文档格式,通常用于安全地存储数据。PDF 简历以各种方式创建...
阅读 6 分钟
在本教程中,我们将使用 Python 代码实现两数之和问题。这是数组的基本问题,您可以在 Leetcode 上找到它。我们将使用 Python 编程语言以不同的方法解决它。让我们了解问题...
阅读 6 分钟
IPython 指的是交互式 Python。它是一个用于 Python 的交互式命令行终端。它将为 Python 计算提供一个 IPython 终端和基于 Web 的(Notebook)平台。它比标准的 Python 解释器具有更高级的功能,并且可以快速执行单行 Python 代码。Python 和...
11 分钟阅读
在本教程中,我们将学习 Python 请求模块或如何使用 Python 请求库处理请求。我们还将讨论请求的功能。最后,我们将学习如何针对不同情况优化和自定义这些功能。简介 通常,...
7 分钟阅读
介绍在 Python 中,del 关键字通常用于删除对象。由于 Python 中的所有内容都表示某种对象,因此 del 关键字也可以用于删除列表、变量、列表的一部分等。del 语句不返回任何类型...
阅读 2 分钟
简介 曲线拟合是一种优化,它为已定义的函数找到一组最佳参数,以适用于给定的一组观测值。与监督学习不同,曲线拟合需要我们定义将输入示例映射到输出的函数。用于...
阅读 8 分钟
缺失数据是统计分析和机器学习中最常见且不可避免的问题。它们影响数据质量。这可能由于多种原因发生,例如用户在推荐系统中未回答问题、患者在治疗期间死亡或...
阅读9分钟
编程是我们可以掌握的世界上最赚钱的在线技能之一。如果您已经决定开始我们的 IT 冒险,请尝试学习 Python。我们将向您展示如何以有组织、有趣的方式更快地学习 Python。Python 可以快速学习……
5 分钟阅读
Matplotlib 是一个 Python 库,可让您创建确定性、动画和引人入胜的可视化。它用于在 Python 中制作图表,例如条形图、散点图、饼图、直方图、折线图、3D 图等。Matplotlib 库包含有关散点图的信息……
阅读 6 分钟
本教程将教我们如何使用正则表达式验证给定的电子邮件地址。正则表达式是搜索文本和执行替换操作、验证、字符串分割以及许多其他操作的重要技术。它们提供了一套规则来识别特定的...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India