Error by creating a list of QGraphicsItems
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;
加载中,请稍侯......
精彩评论