【发布时间】:2011-05-09 02:05:44
【问题描述】:
对于数据输入小部件(如 Entry、Text、Spinner、Checkbutton、Radiobutton)是否存在值更改类型的事件?通过值更改,我的意思是能够检测小部件的值何时由于键盘输入或剪切/删除/粘贴(和文本编辑_撤消/编辑_重做)活动而发生变化?我在 Tkinter 事件文档 [1] 中没有看到此类事件的描述。
将 Tkinter 变量链接到我想要监视的小部件值并使用这些变量的 .trace_variable('w', ... ) 方法绑定到值更改是否是正确的技术?这似乎是正确的方法,但我在我研究过的 Tkinter 应用程序源代码中没有看到很多 trace_variable() 的使用......这让我对使用这种方法持谨慎态度。
[1]http://infohost.nmt.edu/tcc/help/pubs/tkinter/events.html
【问题讨论】:
-
我认为 Bryan Oakley 对以下帖子 [1] 的回复回答了我的问题。引用:“绑定到按键不是正确的解决方案。例如,它不会处理您使用鼠标粘贴的情况。此外,在默认情况下,绑定到按键将在小部件自更新后更新之前触发发生在特定于小部件的绑定之后触发的类绑定中。文本变量和跟踪是要走的路。 [1]stackoverflow.com/questions/2524031/…
-
我相信以下链接证实了 Bryan 的建议:effbot.org/tkinterbook/variable.htm。
标签: python events user-interface tkinter ttk