Tkinter.Text 小部件上的验证?

2023-12-19

我有哪些选择来获得验证Tkinter.Text小部件?我不要求Text的高级功能,就在于它的多行属性。不幸的是,两者都缺乏textvariable and validate命令,所以我似乎无法附加某种回调来在每次文本更改时检查内容。我想避免必须绑定<KeyRelease>,因为它看起来捕获所有按键,包括 Shift、Ctrl 等按键,并且正确工作似乎有点混乱。

我基本上只需要检查文本字段是否为空,并根据需要启用/禁用“确定”按钮(即,如果没有文本,则该按钮被禁用)。

相反,有没有人遇到过一个像样的子类Entry添加了用 Python 编写的多行功能?有this http://wiki.tcl.tk/1917,这增加了textvariable to Text,但它是用纯 TCL 编写的,而不是 Python,似乎很难集成到我现有的 Python 环境中。


绑定到<KeyRelease>按钮不需要很混乱,您不必检查按下的键的值,而是获取小部件的内容。请记住,它的末尾始终有一个“\n”,因此当您检索内容时不要忘记丢弃它:

content = text.get(1.0, "end-1c")

然后你只需要根据这个值改变按钮的状态:

import Tkinter as tk

def configure_ok_button(event):
    content = event.widget.get(1.0, "end-1c")
    state = "active" if content else "disabled"
    button.configure(state=state)

root = tk.Tk()
text = tk.Text(root)
button = tk.Button(root, text="Ok", state="disabled")
text.bind("<KeyRelease>", configure_ok_button)
text.pack()
button.pack()
root.mainloop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tkinter.Text 小部件上的验证? 的相关文章

  • 使用 Celery 时出现错误消息“无法找到记录器“多处理”的处理程序”

    RabbitMQ http en wikipedia org wiki RabbitMQ现在似乎工作正常 然而 当我尝试 python m celery bin celeryd loglevel INFO 常规的celeryd不起作用 我收
  • Python 中的空填字游戏求解器

    我得到了一个包含填字游戏蓝图的矩阵 当然 它是空的 我们的目标是填补整个难题 这是 Checkio 的一项任务 我已经为此奋斗了相当长一段时间 根据我对复杂性的理解 这个问题没有完美的算法 不过 必须有最好的方法来做到这一点 对吧 我尝试了
  • Cassandra:在 session.execute() 期间“无法完成对任何主机的操作”

    卡桑德拉版本 1 2 2Thrift API 版本 19 35 0CQL支持的版本 2 0 0 3 0 1 默认 3 0 1 适用于 python 3 4 的 cassandra 驱动程序使用 sudo 运行 cassandra bin c
  • Python Pandas:返回连续缺失的工作日日期并为数据框中缺失的日期分配比率

    Dates rates 7 26 2019 1 04 7 30 2019 1 0116 7 31 2019 1 005 8 1 2019 1 035 8 2 2019 1 01 8 6 2019 0 9886 8 12 2019 0 965
  • Python正则表达式查找所有单个字母字符

    我想找到字符串中单个字母字符每次出现的所有索引 我不想捕获单个字符 html 代码 这是我的代码 import re s fish oil B stack peanut c b words re finditer S s has alpha
  • 意外的缩进错误,但缩进看起来正确

    我一直在尝试运行此代码 但它引发了缩进错误 无论我尝试什么 结果都是一样的 如果我删除之前的缩进def str self 和代码的其余部分 它工作正常 但在输出时 它不显示问题 而是显示 问题对象 def str self Indentat
  • 将 Python 脚本导入另一个脚本?

    我正在阅读 Zed Shaw 的 艰难学习 Python 正在学习第 26 课 在本课中 我们必须修复一些代码 这些代码从另一个脚本调用函数 他说我们不必导入它们来通过测试 但我很好奇我们将如何做到这一点 课程链接 http learnpy
  • Django - 403 Forbidden CSRF 验证失败

    我在 Django 中为我的网站提供了一个联系表单 当我在本地测试它时 它工作正常 但现在当我尝试 实时 提交我的联系表单时 它总是出现 403 禁止 CSRF 验证失败 view def contact request if reques
  • pythonic方式来反转一个字典,其中值是列表?

    我有一本看起来像这样的字典 letters by number 1 a b c d 2 b d 3 a c 4 a d 5 b c 我想将其反转为如下所示 numbers by letter a 1 3 4 b 1 2 5 c 1 3 5
  • 测试 python 列表的所有元素是否为 False

    如何返回False如果所有元素都在列表中False 给定的列表是 data False False False Using any https docs python org 2 library functions html any gt
  • rpy2 传递 python 保留关键字参数

    我试图通过 python 使用 r 的密度函数 并且必须将 from to 参数传递给密度函数 然而 由于 from 这个词是Python中的保留关键字 我该如何实现这一点呢 谢谢 这是到目前为止的代码 r density robjects
  • 动态组装 Python 模块,动态导入

    我正在努力让自己熟悉importlib钩子 我想实现直接导入用其他语言编写的非Python文件并维护源映射的能力 因此提高SyntaxError带有行号的 s 仍然会给出有意义的堆栈跟踪 我加载外部文件的方法是组装 Pythonic 源代码
  • 有一些 numpy.map 吗?

    我可能在这里遗漏了一些明显的东西 但我遗漏了一个功能numpy map 这与 Python 的相同map函数 但将输出收集在numpy大批 例如 我可以有一个图像生成器genImage i 生成 2D 图像 大小 m n 基于单个输入 我想
  • SyntaxError:创建类实例时语法无效[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在 Python shell 3 3 2 中运行这段代码 但它给了我SyntaxError invalid syntax cla
  • python - 从完整地址获取邮政编码

    我有一个数据框 其中一列中有完整地址 我需要创建一个仅包含邮政编码的单独列 有些地址只有五位数字的邮政编码 而其他地址则有额外的四位数字 如何拆分列以获取邮政编码 示例数据 d name bob john address 123 6th S
  • 打开 PDF 到书签/指定目标?

    我正在尝试使用 python 打开特定书签的 PDF 到目前为止 我可以在命令提示符中运行以下命令并得到我想要的 last是 PDF test pdf 中指定目的地的名称 C Program Files x86 Adobe Reader 1
  • AttributeError:“列表”对象没有属性“文本”,在 DOM 中查找元素时出错

    我尝试在树 DOM 中查找元素 但遇到问题 我写 age browser find elements by xpath div id ads ul li 6 span 2 text 但它一直显示我的错误 属性错误 列表 对象没有属性 文本
  • 阅读 setup.py 中的 README

    所以 我想要long description我的设置脚本的内容是我的README md文件 但是当我这样做时 源代码发行版的安装将失败 因为python setup py sdist不复制自述文件 有没有办法让distutils core
  • Bokeh 中的相关图问题

    当我通过绘制数据时rect 来自 Bokeh 我在可视化中得到了一条由水平块组成的单行 数据打印正确 据我所知格式正确 type 验证它们都是列表 谁能诊断这个吗 如果问题不在这里 那么我可以附加更多代码 如果需要 在 Ubuntu 14
  • python函数中的Return语句不返回任何内容[重复]

    这个问题在这里已经有答案了 我不明白退货和打印之间的区别 有人告诉我应该在函数语句中使用 return 但它不会返回任何内容 所以我一直在函数中使用 print 但我想了解为什么我的函数中的 return 语句不起作用 def triang

随机推荐

  • 我在安装 PyDictionary 时遇到问题

    当我输入 pip install PyDictionary 时 我保留此错误 我还尝试通过输入 python 3 m pip install PyDictionary 来安装该软件包 我之前安装了该软件包 但在 python 3 10 上没
  • 运算符 >= 重载的奇怪行为

    我在 C 中的运算符重载中遇到了奇怪的行为 我有一个类 我需要检查它的内容是否大于或等于 long double 我重载了 gt 运算符来进行此检查 我的声明如下 bool MyClass operator gt long double v
  • NpgSql 调用函数/例程

    给定以下 Postgresql 例程 CREATE OR REPLACE FUNCTION checkemailexists emailaddress text RETURNS boolean LANGUAGE plpgsql AS pri
  • 预期的类型参数,找到的结构[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我将其简化为以下代码 trait Logger struct DefaultLogger impl Logger for DefaultLogger struct A
  • 在数据库中存储 BitSet 数组的最佳方法?

    我有一个数组java util BitSet我想保留在我的数据库中 但我不知道最好的方法是什么 准确地说我得到了x y true or false我想要存储的每个条目的值 我想java util BitSet是一个很好的尝试 但我真的不知道
  • 图像悬停时的 CSS 颜色叠加

    我尝试过其他答案 但还没有适合我的特定设置的答案 我无法使用任何 ul li 设置 所以请不要这样做 我试图让一个稍微透明的橙色层显示在图像上 我无法使用绝对定位 该网站是基于 Foundation 4 构建的并且是响应式的 到目前为止 我
  • 为什么即使使用正确的 autoconf,autogen.sh 也会失败?

    autogen sh 失败 输出显示我需要更高版本的 autoconf 但事实上我有一个 2 6x autoconf 为什么仍然失败 mirror home 4 autogen sh autoreconf i f v autoreconf
  • Laravel 动态改变连接

    如何更改 laravel 的连接表单控制器 但连接信息存储在数据库中 如数据库管理器 我的示例 我的数据库中有数据库信息 id driver database name username password host 所以在我的控制器上只需调
  • 使用AES算法加密和解密

    我正在为我的应用程序制作一个加密 解密模块 我跟着本教程 http iamvijayakumar blogspot com 2013 10 android example for encrypt and decrypt html 它没有给出
  • Oracle 中的日期相减 - 数字还是区间数据类型?

    我对 Oracle DATE 和 INTERVAL 数据类型的一些内部工作有疑问 根据Oracle 11 2 SQL 参考 http docs oracle com cd E11882 01 server 112 e26088 sql el
  • mySQL 中更高效的字边界查询

    我有一个包含二分之一百万短语的表 我正在使用以下查询进行单词匹配 SELECT FROM searchIndex WHERE indexData RLIKE lt Hirt indexData 字段具有 FULLTEXT 索引并且数据类型为
  • 小部件在 WordPress 插件中动态创建

    我正在写 WordPress 插件 该插件将根据 API 调用的响应创建小部件 我的 API 返回一些第三方网站链接的数组 因此 根据数组的计数 我必须创建小部件 假设响应有 10 个条目 我必须根据响应创建 10 个小部件 目前我正在根据
  • Adobe Illustrator 删除 svg 图像上的类名称。我怎样才能防止这种情况发生?

    我有这个 svg 图像
  • 线程消息系统数据库架构设计

    我试图准确地实现这里解释的内容 创建一个线程化的私人消息系统 如 facebook 和 gmail https stackoverflow com questions 6420264 creating a threaded private
  • python http请求和响应是如何工作的

    我是 python 新手 我有任务 所以我需要扫描 wifi 并将数据发送到服务器 下面是我必须发送的格式 在浏览器 url 文本框中手动输入时可以正常工作 http 223 56 124 58 8080 ppod web ProcessR
  • Safari html5 视频全屏尺寸

    在 OSX Safari 上 单击全屏时的 HTML5 视频标记 如何强制视频覆盖全屏 而不是显示带有黑色背景的小尺寸 可能是原始尺寸 好的 找到了 设置最大高度时需要一些 CSS 回答 video webkit full screen w
  • 除非您更新 Google Play 服务,否则应用程序将无法运行

    我对开发还很陌生 我的 Google Maps API 工作得很好 唯一的障碍是在我的 gradle 依赖项中我必须compile com google android gms play services 9 而不是播放服务 10 0 1
  • 从 Spark rdd 收集大型数据集的最佳实践是什么?

    我正在使用 pyspark 来处理我的数据 最后我需要使用 rdd collect 从 rdd 收集数据 然而 由于内存问题 我的 Spark 崩溃了 我尝试了很多方法 但没有成功 我现在运行以下代码 为每个分区处理一小块数据 def ma
  • vue.js v-for 列表未更新

    我有这个清单 ul li list personName li ul 然后我有这个 vue 对象 var vm new Vue el tab data names an object array coming from the server
  • Tkinter.Text 小部件上的验证?

    我有哪些选择来获得验证Tkinter Text小部件 我不要求Text的高级功能 就在于它的多行属性 不幸的是 两者都缺乏textvariable and validate命令 所以我似乎无法附加某种回调来在每次文本更改时检查内容 我想避免