Why doesn't setPos() move the QGraphicsItems in the scene?
In the code below, I have three `QGraphicsItem`s that are laid out by `QGraphicsLinearLayout`, which is set as layout to a `QGraphicsWidget`.

    #include <QApplication>
    #include <QBrush>
    #include <QDebug>
    #include <QGraphicsItem>
    #include <QGraphicsLayoutItem>
    #include <QGraphicsLinearLayout>
    #include <QGraphicsRectItem>
    #include <QGraphicsScene>
    #include <QGraphicsView>
    #include <QGraphicsWidget>
    #include <QPen>
    
    class MyShape : public QGraphicsRectItem, public QGraphicsLayoutItem {
      public:
        MyShape(void) {
            setPen(QPen(QBrush(Qt::black), 1));
            setBrush(QBrush(Qt::green));
            setRect(0, 0, 20, 20);
        }
    
        virtual QSizeF sizeHint(Qt::SizeHint which,
                                const QSizeF& constraint = QSizeF()) const {
            Q_UNUSED(which);
            Q_UNUSED(constraint);
            return boundingRect().size();
        }
    
        virtual void setGeometry(const QRectF& rect) {
            setPos(rect.topLeft());
        }
    };
    
    int main(int argc, char** argv) {
        QApplication app(argc, argv);
    
        QGraphicsScene scene;
        MyShape* shape1 = new MyShape;
        MyShape* shape2 = new MyShape;
        MyShape* shape3 = new MyShape;
        scene.addItem(shape1);
        scene.addItem(shape2);
        scene.addItem(shape3);
    
        QGraphicsLinearLayout* layout = new QGraphicsLinearLayout;
        layout->addItem(shape1);
        layout->addItem(shape2);
        layout->addItem(shape3);
    
        QGraphicsWidget* container = new QGraphicsWidget;
        container->setLayout(layout);
        scene.addItem(container);
    
        container->setPos(300, 300); // This doesn't appear to have any affect
    
        // Item for indicating origin
        QGraphicsRectItem* tmp = scene.addRect(0, 0, 2, 2, QPen(),
                                               QBrush(Qt::green));
        tmp->setPos(0, 0);
    
        qDebug() << tmp->scenePos();
        qDebug() << container->scenePos();
    
    
        QGraphicsView view;
        view.setScene(&scene);
        view.centerOn(0, 0);
        view.show();
    
        return app.exec();
    }

Then, I try to move the `QGraphicsWidget` within the scene by calling `setPos()`, but it doesn't appear to work (the `QGraphicsItem`s remain in the same place). However, _something_ appears to happen since the scrollbars change. It seems that the `QGraphicsWidget` moves, without taking the `QGraphicsItem`s along with it.

Why?
Why doesn't setPos() move the QGraphicsItems in the scene?
===

In the code below, I have three `QGraphicsItem`s that are laid out by `QGraphicsLinearLayout`, which is set as layout to a `QGraphicsWidget`.

    #include <QApplication>
    #include <QBrush>
    #include <QDebug>
    #include <QGraphicsItem>
    #include <QGraphicsLayoutItem>
    #include <QGraphicsLinearLayout>
    #include <QGraphicsRectItem>
    #include <QGraphicsScene>
    #include <QGraphicsView>
    #include <QGraphicsWidget>
    #include <QPen>
    
    class MyShape : public QGraphicsRectItem, public QGraphicsLayoutItem {
      public:
        MyShape(void) {
            setPen(QPen(QBrush(Qt::black), 1));
            setBrush(QBrush(Qt::green));
            setRect(0, 0, 20, 20);
        }
    
        virtual QSizeF sizeHint(Qt::SizeHint which,
                                const QSizeF& constraint = QSizeF()) const {
            Q_UNUSED(which);
            Q_UNUSED(constraint);
            return boundingRect().size();
        }
    
        virtual void setGeometry(const QRectF& rect) {
            setPos(rect.topLeft());
        }
    };
    
    int main(int argc, char** argv) {
        QApplication app(argc, argv);
    
        QGraphicsScene scene;
        MyShape* shape1 = new MyShape;
        MyShape* shape2 = new MyShape;
        MyShape* shape3 = new MyShape;
        scene.addItem(shape1);
        scene.addItem(shape2);
        scene.addItem(shape3);
    
        QGraphicsLinearLayout* layout = new QGraphicsLinearLayout;
        layout->addItem(shape1);
        layout->addItem(shape2);
        layout->addItem(shape3);
    
        QGraphicsWidget* container = new QGraphicsWidget;
        container->setLayout(layout);
        scene.addItem(container);
    
        container->setPos(300, 300); // This doesn't appear to have any affect
    
        // Item for indicating origin
        QGraphicsRectItem* tmp = scene.addRect(0, 0, 2, 2, QPen(),
                                               QBrush(Qt::green));
        tmp->setPos(0, 0);
    
        qDebug() << tmp->scenePos();
        qDebug() << container->scenePos();
    
    
        QGraphicsView view;
        view.setScene(&scene);
        view.centerOn(0, 0);
        view.show();
    
        return app.exec();
    }

Then, I try to move the `QGraphicsWidget` within the scene by calling `setPos()`, but it doesn't appear to work (the `QGraphicsItem`s remain in the same place). However, _something_ appears to happen since the scrollbars change. It seems that the `QGraphicsWidget` moves, without taking the `QGraphicsItem`s along with it.

Why?