- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到 ttk.Checkbuttons
中的行为小部件。也就是说,对此小部件应用的任何绑定(bind)或事件处理程序始终发生在小部件的 command
之前。执行选项方法/功能。
意义:
鉴于 ttk.Checkbuttons
的状态发生变化由 command
执行选项方法/函数,ttk.Checkbuttons['variable']
的值通过事件处理程序访问的将始终是旧状态,而不是小部件的 command
定义的新状态。选项方法/功能。
更改 ttk.Checkbuttons['variable']
的值在事件处理程序中会搞乱小部件的性能 command
选项方法/功能。因此,ttk.Checkbuttons['variable']
应该在小部件的 command
中设置选项方法/功能。
问题:
鉴于上述情况,那么将事件处理程序绑定(bind)到 ttk.Checkbuttons
的目的是什么?小部件?
事件处理程序在事件发生时执行,例如什么时候<ButtonRelease-1>
发生在 ttk.Checkbutton
小部件。如果我想根据小部件的状态设计后续操作,我不能通过作为小部件的事件处理程序来实现 instate
尚未更新。解决方法是假定小部件 instate
和 variable
在事件处理程序中获得的与报告的相反 instate
或 variable.get() 值。然而,这种做法似乎很冒昧。
我应该如何为 ttk.Checkbutton
使用事件处理程序?在状态发生变化时编写后续操作?或者我不应该使用它而只使用小部件 command
option方法/函数根据widget的状态设计后续 Action ?
最佳答案
Given the above, so what is the purpose of binding event handlers to a ttk.Checkbuttons widget?
这样您就可以定义自己的行为来覆盖默认行为。
How do should I use event handlers for a ttk.Checkbutton to program follow-up actions when there is a state change?
一个解决方案是不使用事件处理程序。相反,在关联变量上设置跟踪。使用变量跟踪,您的回调函数将在设置变量后调用,并且每次值更改时都会被调用,即使更改是由事件以外的其他因素完成的。
cb_var = tk.StringVar(value="off")
cb = ttk.Checkbutton(root, variable=cb_var, onvalue="on", offvalue="off", text="Ready?")
cb_var.trace_add('write', callback)
另一种解决方案是在类的绑定(bind)标签之后创建一个自定义绑定(bind)标签。
例子:
cb_var = tk.StringVar(value="off")
cb = ttk.Checkbutton(root, variable=cb_var, onvalue="on", offvalue="off", text="Ready?")
tag = f'custom_{cb}'
cb.bindtags((cb, 'TCheckbutton', '.', tag, 'all'))
cb.bind_class(tag, "<ButtonRelease-1>", callback)
通过上述,回调将在 <ButtonRelease-1>
上被调用在该事件已由小部件类上的默认绑定(bind)处理后的按钮。如果这样做,您还应该以类似的方式向空格键添加绑定(bind),因为您还可以使用空格键设置复选按钮的值。
关于 bindtags 的另一个例子以及更多关于它们如何工作的讨论,请参见 this answer问题How to bind self events in Tkinter Text widget after it will binded by Text widget? .另请参阅 this answer问题Basic query regarding bindtags in tkinter .
关于python - 当 ttk.Checkbutton 小部件的状态发生变化时,如何编写后续操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69930614/
我正在通读 Windows Phone 7.5 Unleashed,有很多代码看起来像这样(在页面的代码隐藏中): bool loaded; protected override void OnNav
在cgi服务器中,我这样返回 print ('Status: 201 Created') print ('Content-Type: text/html') print ('Location: htt
我正在查看 esh(easy shell)的实现,无法理解在这种情况下什么是 22 和 9 信号。理想情况下,有一个更具描述性的常量,但我找不到列表。 最佳答案 信号列表及其编号(包括您看到的这两个)
我的Oozie Hive Action 永远处于运行模式。 oozie.log文件中没有显示错误。
我正在编写一个使用 RFCOMM 通过蓝牙连接到设备的 Android 应用程序。我使用 BluetoothChat 示例作为建立连接的基础,大部分时间一切正常。 但是,有时由于出现套接字已打开的消息
我有一个云调度程序作业,它应该每小时访问我的 API 以更新一些价格。这些作业大约需要 80 秒才能运行。 这是它的作用: POST https://www.example.com/api/jobs/
我正在 Tomcat 上访问一个简单的 JSP 页面: 但是当我使用 curl 测试此页面时,我得到了 200 响应代码而不是预期的 202: $ curl -i "http://localhos
有时 JAR-RS 客户端会发送错误的语法请求正文。服务器应响应 HTTP status 400 (Bad Request) , 但它以 HTTP status 500 (Internal Serve
我正在尝试通过 response.send() 发送一个整数,但我不断收到此错误 express deprecated res.send(status): Use res.sendStatus(sta
我已经用 Excel 和 Java 做过很多次了……这次我需要用 Stata 来做,因为保存变量更方便'labels .如何将 dataset_1 重组为下面的 dataset_2? 我需要转换以下
我正在创建一个应用程序,其中的对象具有状态查找功能。为了提供一些上下文,让我们使用以下示例。 帮助台应用程序,其中创建作业并通过以下工作流程移动: 新 - 工作已创建但未分配 进行中 - 分配给工作人
我想在 Keras 中运行 LSTM 并获得输出和状态。在 TF 中有这样的事情 with tf.variable_scope("RNN"): for time_step in range
有谁知道 Scala-GWT 的当前状态 项目? 那里的主要作者 Grzegorz Kossakowski 似乎退出了这个项目,在 Spring 中从事 scalac 的工作。 但是,在 interv
我正在尝试编写一个 super 简单的 applescript 来启动 OneDrive App , 或确保打开,当机器的电源设置为插入时,将退出,或确保关闭,当电源设置为电池时。 我无法找到如何访问
目前我正在做这样的事情 link.on('click', function () { if (link.attr('href') !== $route.current.originalPath
是否可以仅通过查看用户代理来检测浏览器上是否启用/禁用 Javascript。 如果是,我应该寻找什么。如果否,检测用户浏览器是否启用/禁用 JavaScript 的最佳方法是什么 最佳答案 不,没有
Spring 和 OSGi 目前的开发状况如何? 最近好像有点安静了。 文档的最新版本 ( http://docs.spring.io/osgi/ ) 来自 2009 年。 我看到一些声明 Sprin
我正在从主函数为此类创建一个线程,但即使使用 Thread.currentThread().interrupt() 中断它,输出仍然包含“Still Here”行。 public class Writ
为了满足并发要求,我想知道如何在 Godog 中的多个步骤之间传递参数或状态。 func FeatureContext(s *godog.Suite) { // This step is ca
我有一个UIButton子类,它不使用UIImage背景,仅使用背景色。我注意到的一件事是,当您设置按钮的背景图像时,有一个默认的突出显示状态,当按下按钮时,该按钮会稍微变暗。 这是我当前的代码。
我是一名优秀的程序员,十分优秀!