将多个QGraphicsItem添加到QGraphicsItemGroup

时间:2014-10-08 09:04:24

标签: qt qgraphicsitem qlist

我正在尝试将多个qgraphicsitem添加到qgraphicsitemgroup

case LineMode:
    lineGroup = new QGraphicsItemGroup;
    if (c1)
    {
        pointItem = new Point;
        pointItem->setPos(mouseEvent->scenePos());
        lineGroup->addToGroup(pointItem);
        start_p = mouseEvent->scenePos();
        c1 = false;
        c2 = true;
        qDebug() << "p1: " << lineGroup->childItems().count();
    }

    else if (!c1 && c2)
    {
        pointItem = new Point;
        pointItem->setPos(mouseEvent->scenePos());
        lineGroup->addToGroup(pointItem);
        end_p = mouseEvent->scenePos();
        c3 = true;
        c2 = false;
        qDebug() << "p2:" << lineGroup->childItems().count();
    }

    if (c3)
    {
        lineItem = new Line(start_p, end_p);
        lineGroup->addToGroup(lineItem);
        addItem(lineGroup);
        groupList.append(lineGroup);
        qDebug() << "p3:" << lineGroup->childItems().count();
    }
    break;

我在头文件中创建了groupList

QList<QGraphicsItemGroup*> groupList;

即使添加了3个项目,即添加到该组中的项目数仍为1,即

p1: 1
p2: 1
p3: 1

此外,添加的第一个项目未显示。

This is what I want This is what I am getting

左图是预期的输出,而我是正确的输出。 如何解决这个问题?

0 个答案:

没有答案