Anchor Layout Example▲
The Anchor Layout example demonstrates the use of the QGraphicsAnchorLayout class.
The basic steps of this example are:
-
Create a QGraphicsScene
-
Create widgets
-
Create a QGraphicsAnchorLayout
-
Create a QGraphicsWidget
-
Add vertical and horizontal anchors between the widgets
-
View the scene with a QGraphicsView object
Creating a QGraphicsScene▲
Sélectionnez
QGraphicsScene scene;
scene.setSceneRect(0, 0, 800, 480);Creating Widgets▲
Sélectionnez
QGraphicsProxyWidget *a = createItem(minSize, prefSize, maxSize, "A");
QGraphicsProxyWidget *b = createItem(minSize, prefSize, maxSize, "B");
QGraphicsProxyWidget *c = createItem(minSize, prefSize, maxSize, "C");
QGraphicsProxyWidget *d = createItem(minSize, prefSize, maxSize, "D");
QGraphicsProxyWidget *e = createItem(minSize, prefSize, maxSize, "E");
QGraphicsProxyWidget *f = createItem(QSizeF(30, 50), QSizeF(150, 50), maxSize, "F (overflow)");
QGraphicsProxyWidget *g = createItem(QSizeF(30, 50), QSizeF(30, 100), maxSize, "G (overflow)");Creating a Layout▲
Sélectionnez
QGraphicsAnchorLayout *l = new QGraphicsAnchorLayout;
l->setSpacing(0);Creating a QGraphicsWidget▲
Sélectionnez
QGraphicsWidget *w = new QGraphicsWidget(0, Qt::Window);
w->setPos(20, 20);
w->setLayout(l);Adding Anchors▲
Sélectionnez
// vertical
l->addAnchor(a, Qt::AnchorTop, l, Qt::AnchorTop);
l->addAnchor(b, Qt::AnchorTop, l, Qt::AnchorTop);
l->addAnchor(c, Qt::AnchorTop, a, Qt::AnchorBottom);
l->addAnchor(c, Qt::AnchorTop, b, Qt::AnchorBottom);
l->addAnchor(c, Qt::AnchorBottom, d, Qt::AnchorTop);
l->addAnchor(c, Qt::AnchorBottom, e, Qt::AnchorTop);
l->addAnchor(d, Qt::AnchorBottom, l, Qt::AnchorBottom);
l->addAnchor(e, Qt::AnchorBottom, l, Qt::AnchorBottom);
l->addAnchor(c, Qt::Anc


