因此,虽然我没有在 文档 中找到
event generate all <<Custom>>
应该起作用的提示。我有点惊讶它没有。bindtags
处理,并且小部件已经处理到标签 all
的事件,如 <<ThemeChanged>>
。
所以我的问题是,如何同时触发所有小部件上的事件?是否可能或仅针对核心开发人员?
未记录的 Tcl 命令
ttk::ThemeChanged
是 Tk 发送此类事件的方式,它实际上在内部所做的就是迭代所有已知的小部件并将事件发送给每个小部件。是的,这有点贵,但主题更改并不常见。
all
是一个绑定标签,而不是一个小部件。事件必须进入确定的窗口(C 结构中的字段必须不是None
); Tk 不会路由没有目的地的事件。绑定标签说明哪个绑定集合可以响应特定事件一旦路由,以及以什么优先级。