2011-11-01 46 views
1

我試圖追蹤場景中的扇形的路徑。QGraphicsEllipseItem的形狀()不是繪畫路徑時的樣子

QGraphicsEllipseItem *sector = new QGraphicsEllipseItem; 
sector->setSpanAngle(5*16); //the span angle here is 5 degrees 
sector->setStartAngle(startAngle*16); 

然後把這個放在qGraphicsScene上,一切都很好。現在爲了碰撞檢測的目的,我使用QPainterPathStroker。但作爲一個測試,我想結帳從這個項目shape()用粗筆像這樣提請路徑...

QPen blackPen(Qt::black, 15); //Thick pen, just because 
QPainterPath path = QPainterPath(sector->shape()); 
this->scene->addPath(path,blackPen); 

什麼我期待一個部門的藍色輪廓與大約跨度角5度。相反,我得到一個奇怪的L形狀的東西。

Pic of what I'm trying to explain...

(忽略中間的橫線)

你可以看到該行業的虛線輪廓,用很厚的藍筆應該跟蹤破折號。我已經有一段時間了,但無濟於事。有解決方案嗎?

編輯:我想通了。我在QPainterPath上使用closeSubpath()

+1

如果你找到了解決方案,你應該提交它作爲答案,所以你的問題不留在未答覆的部分。 – sjwarner

回答

1

我想通了。我在QPainterPath上使用closeSubpath()

相關問題