如何在 Linux 中禁用鼠标滚轮事件
How to disable mousewheel events in Linux
我想在某些情况下禁用组合框的 MouseWheel 事件,所以我使用下面的示例代码:
ttk::combobox .cb -values {a b c}
bind .cb <MouseWheel> break
pack .cb
该代码在 Windows 下可以正常工作,但在 Linux 下不起作用,tcl/tk 版本相同,如何修改它并在 [=18= 下正常工作]?
在 X11 上,鼠标滚轮被映射到(伪)按钮事件 <ButtonPress-4>
和 <ButtonPress-5>
而不是 <MouseWheel>
,因为在 X11 中实际上没有这样的事件(不像 Windows 或 OSX).
if {[tk windowingsystem] eq "x11"} {
bind .cb <4> break
bind .cb <5> break
} else {
bind .cb <MouseWheel> break
}
我想在某些情况下禁用组合框的 MouseWheel 事件,所以我使用下面的示例代码:
ttk::combobox .cb -values {a b c}
bind .cb <MouseWheel> break
pack .cb
该代码在 Windows 下可以正常工作,但在 Linux 下不起作用,tcl/tk 版本相同,如何修改它并在 [=18= 下正常工作]?
在 X11 上,鼠标滚轮被映射到(伪)按钮事件 <ButtonPress-4>
和 <ButtonPress-5>
而不是 <MouseWheel>
,因为在 X11 中实际上没有这样的事件(不像 Windows 或 OSX).
if {[tk windowingsystem] eq "x11"} {
bind .cb <4> break
bind .cb <5> break
} else {
bind .cb <MouseWheel> break
}