2011-08-02 24 views
1

我有一個QGraphicsScene我想繪製一些特殊的曲線。對於我製成我在其中限定這些特殊曲線作爲一個新的QGraphicsItem一類:通過創建一個QGraphicsItems列表的錯誤

 

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

    }; 

我嘗試兩次插入每個項目:在陣列中一次我定義:

 

    QList< 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沒有匹配功能::追加(迴旋線**)QGraphicsScene ::的addItem(迴旋線**) '

我在做什麼錯」

呼叫沒有匹配功能'?

回答

1

這應該是:

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

的QList作應定義爲:

QList<Clothoid*> clothoids; 
+0

試過這樣的,現在對於qgraphicsscene錯誤消失,但一個是QList作仍然存在。 – schmimona

+0

QList應該包含指向Clothoid對象的指針。我已經用代碼更新了我的答案。 –

+0

謝謝..現在它的工作 – schmimona

相關問題