Qt QWheelEvent не работает в мульти-прокрутке

Я использую 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;

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))
Другие вопросы по тегам