默认情况下,只有光标在鼠标滚轮上时,QSlider才会对鼠标滚轮作出反应。我想用鼠标滚轮控制滑块而不管光标在哪里(当然只有当我的应用程序有焦点时)。
实现这一目标的最佳方式是什么?
我刚刚了解到鼠标不会产生信号。所以看起来我需要在主窗口中覆盖wheelEvent并在其中使用raise或lower方法。但我猜这可能会导致鼠标悬停时滑块值的双倍增加(或减少)。
再一次:实现我所描述的最佳方式是什么?
答案 0 :(得分:2)
您可以覆盖MainWindow中的wheelEvent()并将其重定向到滑块控件,这确实是一个选项。
另一种选择是在qApp实例上安装event filter。然后,这个偶数过滤器可以检查事件类型是否为QEvent :: Wheel,当接收器不滑块时,再次将其重定向到滑块。应该也一样。