Tkinter:设置“比例”值而不触发回调?

2024-01-24

我有一个 Tkinter GUI,其中有一个Scale目的。我分配了一个回调(由command构造函数参数)以在用户更改刻度位置时执行操作。然而,也存在一种情况,刻度表示的值被外部修改,所以我使用设置刻度位置Scale.set()。在这种情况下,我想设置比例,但是not触发回调,因为程序的其余部分已经知道更改。但是,我注意到回调确实是由set().

是否可以执行以下操作之一:

  1. 设置比例值而不触发回调。

  2. 区分回调是由用户交互触发还是由Scale.set()被召唤。

Thanks.


我遇到了同样的问题,既不抑制回调也不设置全局变量来检查回调状态对我有用,由于某种晦涩的原因,在我的代码完成运行后,回调不断被调用。

尽管如此,对我有用的解决方案很简单:我在小部件中使用了一个变量并使用set变量的方法而不是小部件的方法。

value = DoubleVar()
scale = Scale(master, variable=value, command=callback)
scale.pack()

scale.set(0) #<- this triggered the callback, no matter what I tried to stop it
value.set(0) #<- this seems to work like the previous line but without any callback
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tkinter:设置“比例”值而不触发回调? 的相关文章

随机推荐

  • Mac OSX - 允许用户通过 GUI 或提示符在 shell 脚本中输入

    我创建了一个 shell 脚本 需要一个人输入他们的名字 然后生成一个报告 该脚本在以下情况下按需要工作chmod编辑成可执行脚本并从终端运行 但是 我想部署它并让它成为双击类型的解决方案 而不是指导人们从终端运行它 我尝试将脚本包装在 P
  • 如何识别Python字符串中的不可见字符?

    简洁版本 我正在检索一个数据库值 其中包含一个简短但完整的 HTML 结构 我想去掉所有 HTML 标签 最后只得到一个值 围绕我的相关信息的 HTML 始终是相同的 我只需要弄清楚字符串包含什么样的换行符 制表符或空格 以便我可以进行匹配
  • 如何在 git bash 中对 jupyter 笔记本使用 nbdime 比较和合并

    当我使用 git bash 时 我无法使用 nbdime 提供的 jupyter 笔记本的比较和合并功能 但是 当我使用 cmd 控制台时 它可以工作 我已经从以下位置安装了 git 包括 git bash git scm 网站 https
  • 访问嵌套哈希时如何避免 nil 元素出现 NoMethodError? [复制]

    这个问题在这里已经有答案了 如果我尝试访问不存在的哈希元素 我会得到NoMethodError undefined method for nil NilClass 但是 我无法预测会出现哪些元素 param info param info
  • explode() 不用空格分隔字符串吗?

    我正在尝试打开一个文本文件并将其中的名称列表分解为一个数组 但是当我var dump新数组我得到这个 array 1 0 gt string 61 name name name name 列表的全部内容都进入数组中的一个关键字段 这是我正在
  • 使用 django REST 进行 LDAP 身份验证

    目前我有访问 Django REST Api 后端的基本授权 我可以使用username passowrd这是通过创建的shell 我没有登录页面 因为我正在使用所有内置页面 现在我想从我的 Active Directory 验证来自 LD
  • 删除特定索引处的字符 - python

    我有一个字符串 其中有两个 0 str 我只想删除索引 4 处的 0 str 我尝试过调用 replace 但显然这会删除所有 0 并且我找不到可以为我删除位置 4 处的字符的函数 有人给我提示吗 使用切片 重建字符串减去要删除的索引 ne
  • 如何打造一条无尽的路线?

    如何打造一条无尽的路线 我有一个未知的嵌套 接下来我们需要在路线中显示它 例如 Folder url com folder Child 1 url com folder child1 Child 2 url com folder child
  • 在 symfony4 表单中的 CollectionType 上使用 query_builder?

    在 symfony 4 形式中 我需要使用类似query builder可用的选项EntityType但从一个CollectionType 有一个类似的问题here https stackoverflow com questions 473
  • 由Environment.FailFast() 创建的应用程序转储位于磁盘上的哪个位置?

    我正在尝试在我的应用程序中使用Environment FailFast MSDN 文档说它会在应用程序终止期间创建应用程序转储 FailFast方法将消息字符串写入Windows 应用程序事件日志 创建应用程序的转储 进而 终止当前进程 消
  • 在具有离散颜色条的 pcolormesh 图中使用扩展

    我正在尝试使用离散颜色条创建 pcolormesh 图 输出应满足以下标准 第一层应该是白色的 数据应该在某种程度上被切断 截止值以上的数据应具有单独的颜色 即颜色图的最后一个颜色 我已经快到了 但是 extend 关键字的行为与我预期的不
  • 从 VS 2010 转换为 VS 2012 的项目中缺少 vcxproj.filters 文件

    我正在将我的解决方案移至 TFS 环境 在 VS 2010 中创建并迁移到 VS 2012 的几 8 个 旧 C 项目缺少 vcxproj filters 文件 这些项目看起来很高兴并且满足于没有 filters 的生活 但是当我尝试从 V
  • 在闪亮的多列中对齐单选按钮

    在我闪亮的应用程序中 我有 4 个单选按钮 我想将它们渲染为两列和两行 但是 当我运行应用程序时 标题标签占据第一个位置 使其在第一列中三行 在第二列中两行 这里的问题是 第二列中的第一个单选按钮与标签对齐 而不是第一列中的第一个单选按钮
  • 如何使我的搜索表单适用于大写和小写

    我希望我的搜索表单可以使用大写和小写 因此 每当我输入小写内容时 它也会在我正在搜索的表中显示大写结果 这是我的 JavaScript function searchFunction var searchText document getE
  • R 项目组合

    我正在使用 R 希望找到消费者之间最常见的配对 consumer c 1 1 1 1 1 2 2 2 2 3 3 4 4 4 4 5 items c apple banana carrot date eggplant apple banan
  • MT5/Metatrader 5 使用python连接不同的MT5终端

    我有多个使用以下代码连接到 Mt5 终端的 python 程序 Establish connection to the MetaTrader 5 terminal if not mt5 initialize C Program Files
  • 无法在 Windows 10 ssh 服务器上使用公钥登录

    我已经安装了 Windows 10 ssh 软件包并设置了 sshd 使用密码登录效果很好 但我无法使用公钥登录 我有同样的authorized keys文件输入 ssh authorized keys正如我在 Linux 机器上所做的那样
  • 在 gevent 应用程序中,如何杀死所有已启动的 greenlet?

    我有一个 gevent 应用程序 可以跨多个模块生成多个 greenlet 我希望能够正常关闭应用程序 无论是内部还是通过捕获SIGTERM 例如 允许 greenlet 通过捕获来很好地终止GreenletExit并执行finally 条
  • 转储整个数组:console.log 和 console.dir 输出“... NUM more items]”

    我正在尝试记录一个长数组 以便可以在终端中快速复制它 但是 如果我尝试记录数组 它看起来像 item item gt gt more items lt lt lt 399 more items 如何记录整个数组以便我可以快速复制它 Sett
  • Tkinter:设置“比例”值而不触发回调?

    我有一个 Tkinter GUI 其中有一个Scale目的 我分配了一个回调 由command构造函数参数 以在用户更改刻度位置时执行操作 然而 也存在一种情况 刻度表示的值被外部修改 所以我使用设置刻度位置Scale set 在这种情况下