不幸的是,我看不到任何关于此的文档信息。
我需要一个类似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()
方法)。
也欢迎一些好的例子。