开发者

Error by creating a list of QGraphicsItems

开发者 https://www.devze.com 2023-03-24 06:38 出处:网络
I have a QGraphicsScene on which I would like to draw some special curves. For that I made a class in which I define these special curves as a new QGraphicsItem:

I have a QGraphicsScene on which I would like to draw some special curves. For that I made a class in which I define these special curves as a new QGraphicsItem:


    #include < QGraphicsItem>

    class Clothoid : public QGraphicsItem
    {
    public:
        Clothoid(QPoint startPoint, QPoint endPoint);
        virtual ~Clothoid();

        QPoint sPoint;
        QPoint ePoint;
        float startCurvature;
        float endCurvature;
        float clothoidLength;

    protected:
        QRectF boundingRe开发者_如何学Goct() const;
        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

    };

and I try to insert each item twice: once in an array I defined:


    QList< Clothoid> clothoids;

and once in the scene:


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

        clothoids.append(&temp);

        scene->addItem(&temp);
    }

But I get these 2 errors:

no matching function for call to 'QList::append(Clothoid**)'

and

no matching function for call to 'QGraphicsScene::addItem(Clothoid**)'

What am I doing wrong?


That should be:

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

The QList should be defined as:

QList<Clothoid*> clothoids;
0

精彩评论

暂无评论...
验证码 换一张
取 消