我想畫畫,所以我剛纔提到的例子代碼中,我們可以得出箭箭:如何獲得的終點翻譯QPolygon
http://doc.qt.io/qt-5/qtwidgets-graphicsview-elasticnodes-edge-cpp.html
我決定用畫相同的公式,並嘗試像:
theCurrentLine->setP1(QPointF(0, 0) );
theCurrentLine->setP2((theLineVector));
p->drawLine(*theCurrentLine);
double angle = ::acos(theCurrentLine->dx()/theCurrentLine->length());
if (theCurrentLine->dy() >= 0)
angle = TwoPi - angle;
QPointF sourcePoint = QPointF(0,0);
QPointF sourceArrowP1 = sourcePoint + QPointF(sin(angle + Pi/3) * theArrowSize,
cos(angle + Pi/3) * theArrowSize);
QPointF sourceArrowP2 = sourcePoint + QPointF(sin(angle + Pi - Pi/3) * theArrowSize,
cos(angle + Pi - Pi/3) * theArrowSize);
p->drawPolygon(QPolygonF() << theCurrentLine->p1() << sourceArrowP1 << sourceArrowP2);
但現在我想繪製箭頭多邊形繪製後的線。
如何更改theCurrentLine
的P1()
值,該值可以在多邊形之後開始,即當前的polygon(arrowHead)
並且線條在同一點開始?我需要在繪製箭頭後開始線條。原因是有時如果筆寬增加箭頭看起來比線條小。
感謝您的有用的職位。我還有一項任務。我需要畫出最後一點和上一點之間的界限。像箭頭的中間。 – Wagmare 2015-02-06 09:22:50
@Wagmare沒問題。請務必經常查看Qt文檔以獲取答案。這是我看到的最好的文檔。 – 2015-02-06 11:27:43