考虑这段代码:
global value
ttk::combobox .cb -values {1 2 3 4 5} -textvariable value
pack .cb
当鼠标聚焦在组合框小部件上时,滚动鼠标滚轮将更改该值。如何禁用鼠标滚轮事件?
Ttk组合框小部件的滚动轮行为由其绑定到<MouseWheel>
事件的类决定。要为单个小部件覆盖它(我们不建议为所有组合框小部件更改它!),我们需要添加以下绑定:
bind .cb <MouseWheel> break
在绑定中执行break
会在后续绑定标记中停止处理事件,特别是包括类绑定,尽管可能存在其他绑定。 (Widgets的默认绑定标签是窗口小部件的名称,它与窗口小部件的名称相同,窗口小部件的类名称,窗口小部件的顶层设计用于支持热键 - 和all
用于全局绑定,偶尔有用但通常不会。)