Ошибка при создании списка QGraphicsItems - PullRequest
1 голос
/ 02 августа 2011

У меня есть QGraphicsScene, на котором я хотел бы нарисовать некоторые специальные кривые.Для этого я создал класс, в котором я определяю эти специальные кривые как новый QGraphicsItem:


    #include &lt 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 boundingRect() const;
        void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

    };

и пытаюсь вставить каждый элемент дважды: один раз в определенный мной массив:


    QList&lt Clothoid> clothoids;

и один раз в сцене:


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

        clothoids.append(&temp);

        scene->addItem(&temp);
    }

Но я получаю эти 2 ошибки:

нет соответствующей функции для вызова 'QList :: append (Clothoid **)'

и

нет соответствующей функции для вызова 'QGraphicsScene :: addItem (Clothoid **)'

Что я делаю неправильно?

1 Ответ

1 голос
/ 02 августа 2011

Это должно быть:

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

Список QList должен быть определен как:

QList<Clothoid*> clothoids;
...