Qt QWheelEvent多滚动失败

时间:2017-04-12 08:43:33

标签: qt scrollwheel

我正在使用 QWheelEvent 来放大和缩小绘图。当我逐个滚动时,程序运行良好,但是当使用多滚动(快速旋转鼠标滚轮)时,程序无法正常工作。我调试它并掌握当我多滚动放大时,一些事件是假的(缩小)。 谁能帮我! 代码的一部分:

bool zoom_out_scope=false;
bool zoom_in_scope=false;
if(event->angleDelta().y()==120)
   zoom_in_scope=true;
else
    zoom_out_scope=true;

1 个答案:

答案 0 :(得分:0)

我也在笔记本电脑上注意到了这一点,angleDelta值并不总是+/-120。这是笔记本电脑上的日志。

QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-11,0))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-5,0))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-5,0))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(0,3))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-7,1))
QWheelEvent(Qt::NoScrollPhase)
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-2,1))
QWheelEvent(Qt::NoScrollPhase)
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-4,3))
QWheelEvent(Qt::NoScrollPhase)
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-1,0))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-1,1))
QWheelEvent(Qt::NoScrollPhase)
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(0,1))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(-1,1))
QWheelEvent(Qt::NoScrollPhase)
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(0,3))
QWheelEvent(Qt::NoScrollPhase, pixelDelta=QPoint(0,0), angleDelta=QPoint(0,1))