如何在Linux中禁用鼠标滚轮事件

时间:2018-02-06 06:21:01

标签: tcl tk

我想在某些情况下禁用组合框的MouseWheel事件,所以我使用下面的示例代码:

ttk::combobox .cb -values {a b c} 
bind .cb <MouseWheel> break
pack .cb

该代码在Windows下可以正常使用,但在Linux中不起作用,而且tcl / tk版本相同,如何修改它并在Linux中正常工作?

1 个答案:

答案 0 :(得分:1)

在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
}