Important: Please read the Qt Code of Conduct -

Why QGraphicsView maintain scroll bar position outside transformation

  • For QGraphicsView the scroll-bar position is maintained separately: QGraphicsView::transform() doesn't include that. However for example render does then join the matrices:

    QTransform moveMatrix = QTransform::fromTranslate(-d->horizontalScroll(), -d->verticalScroll());
       QTransform painterMatrix = d->matrix * moveMatrix;

    Can someone explain to me why is it done this way instead of storing all the transformations including translation in the transform matrix and have scroll bars synchronized with it all the time?

Log in to reply