1

我有一个 QGraphicsScene,我想在上面画一些特殊的曲线。为此,我创建了一个类,在其中我将这些特殊曲线定义为新的 QGraphicsItem:

    #include <QGraphicsItem>

    类 Clothoid:公共 QGraphicsItem
    {
    上市:
        Clothoid(QPoint startPoint, QPoint endPoint);
        虚拟〜Clothoid();

        QPoint 点;
        QPoint ePoint;
        浮动开始曲率;
        浮动结束曲率;
        浮动回旋线长度;

    受保护:
        QRectF boundingRect() 常量;
        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

    };

我尝试将每个项目插入两次:一次在我定义的数组中:

    QList< Clothoid> 回旋曲线;

并在场景中:

    void renderArea::updateClothoid(const QPoint &p1, const QPoint &p2)
    {
        Clothoid *temp = new Clothoid(p1, p2);

        clothoids.append(&temp);

        场景->addItem(&temp);
    }

但我得到这两个错误:

没有用于调用“QList::append(Clothoid**)”的匹配函数

没有调用“QGraphicsScene::addItem(Clothoid**)”的匹配函数

我究竟做错了什么?

4

1 回答 1

2

那应该是:

clothoids.append(temp);
scene->addItem(temp);

QList 应定义为:

QList<Clothoid*> clothoids;
于 2011-08-02T08:47:59.140 回答