QGraphicsItem是否存在任何布局模型

时间:2015-04-23 09:58:21

标签: c++ qt qgraphicsview qlayout

不幸的是,我看不到任何关于此的文档信息。 我需要一个类似QLayout的布局类,但不是小部件中的小部件,而是QGraphicsItem内的QGraphicsItem。我有:

class AnotherGraphicsItem : public QGraphicsItem {
public:
    QRectF boundingRect();

    void paint(QPainter *painter, ...) {
        painter->drawRect(0, 0, 30, 30);
        // ...
    }
};

class GraphicsItem : public QGraphicsItem {
public:
    QRectF boundingRect();

    void paint(...) {
        for (size_t i = 0; i < 4; ++i) {
            AnotherGraphicsItem *aItem = new AnotherGraphicsItem();
            aItem->setPos(i * 20, 0);
            aItem->setParent(this);
        }
    }
};

class GraphicsView : public QGraphicsView {
public:
    GraphicsView(){ setScene(new QGraphicsScene(this)); populate(); }
    void populate() {
        QGraphicsItem *item = new GraphicsItem();
        scene()->addItem(item);
    }
};

简单地说,我的GraphicsView个对象有一个场景,在另一个QGraphicsItem对象中有QGraphicsItem对象

  

QGraphicsView - &gt; QGraphicsScene - &gt; QGraphicsItem(GraphicsItem) - &gt; 4x QGraphicsItem(AnotherGraphicsItem)

问题是我需要AnotherGraphicsItem以某种方式在外部GraphicsItem对象中对齐。我虽然使用QGraphicsLayout,但它似乎需要在QGraphicsWidget内使用,我不会使用它或仅适用于QGraphicsView(它有setLayout()方法)。

也欢迎一些好的例子。

0 个答案:

没有答案