Движение сцены мышью происходит неравномерно, а какими-то рывками (мышь двигаешь равномерно, а сцена просто берет и укатывается вбок, пока не достигнет границы) и не всегда происходит при движении мышью (то есть мышь двигаешь, а сцена стоит).

void GraphicsView::mousePressEvent(QMouseEvent *event) {
    this->fixedPoint = event->pos();
}

void GraphicsView::mouseMoveEvent(QMouseEvent *event) {
    if(!this->fixedPoint.isNull()) {
        QPointF offset = this->fixedPoint - pos;             // вычисляем разность, на которую мышь подвинулась, между начальной точкой и конечной
        
        this->setCenter(this->getCenter() - offset);       // находим новую точку-центр, в которую надо передвинуть сцену, и передаем
    }
}

void GraphicsView::mouseReleaseEvent(QMouseEvent *event) {
    this->fixedPoint = QPoint();
}

void GraphicsView::setCenter(const QPointF &centerPoint) {
    this->center = centerPoint;      // center в координатах сцены
    this->centerOn(centerPoint);    // centerPoint в координатах scene
}

QPointF GraphicsView::getCenter() {
    return this->center;
}


Может быть я что-то делаю просто неправильно? Вроде координаты перепроверял, находит и вычисляет корректно.