我使用 wheelEvent 实现我的 QGraphicsView 的缩放
void View::wheelEvent(QWheelEvent *e)
{
if (e->modifiers().testFlag(Qt::ControlModifier)){ // zoom only when CTRL key pressed
int numSteps = e->delta() / 15 / 8;
if (numSteps == 0) {
e->ignore();
return;
}
qreal sc = pow(1.25, numSteps); // I use scale factor 1.25
this->zoom(sc);
e->accept();
}
}
和缩放项
void View::zoom(qreal scaleFactor)
{
scale(scaleFactor, scaleFactor);
}
在这里我不想缩小得太深,我需要它来限制缩放到某个点,我必须限制缩小所以我试图找到变换点
qreal
View::zoomScale() const
{
return transform().m11();
}
但有了这个我不能限制缩放。请帮我找到解决方案。