qt中的滚动事件检测

Fra*_*ank 5 mouse qt scroll

如何在Qt小部件中检测滚动事件?
我想用它来滚动QWT图.我尝试过使用a QMouseEvent,但我只能找到移动和按下/释放鼠标的选项.

cma*_*t85 15

void QWidget::wheelEvent(QWheelEvent* event)将是你所追求的(这里的文档).


dev*_*hye 8

如果您使用垂直滚轮鼠标,您可以使用以下函数捕获滚轮向上或滚轮向下事件。如果您使用水平滚轮鼠标,请检查ev->angleDelta().x()值!

void wheelEvent(QWheelEvent *ev)
{
    if(ev->angleDelta().y() > 0) // up Wheel
        action1();
    else if(ev->angleDelta().y() < 0) //down Wheel
        action2();
}
Run Code Online (Sandbox Code Playgroud)