2016-03-21 155 views
0

Qt中是否有内置的绘制箭头/指针末尾的方法?Qt 5.5绘制指针

我知道我可以自己绘制,但很想知道是否已经有这样做的方法,我在网上搜索并找不到任何东西。

我希望能够旋转线条和箭头随之旋转。

下面是我工作的形象:

enter image description here

我想提请在虚线结束的箭头,它应该与虚线从底部指向周围旋转剩下。

[编辑]最后,我用一个多边形旋转时:

enter image description here

代码添加多边形针:

Polygon clsMyClass::plygnGetNeedle(QPoint* pptOrigin 
             ,int intRadius 
             ,float fltAngle) { 
     const int cintNeedleHalfWidth = 4; 

     QPolygon plyNeedle; 
     int intX = pptOrigin->x(), intY = pptOrigin->y(); 
     plyNeedle << QPoint(intX - cintNeedleHalfWidth, intY) 
        << QPoint(intX, intY + cintNeedleHalfWidth) 
        << QPoint(intX + intRadius - cintNeedleHalfWidth, intY) 
        << QPoint(intX, intY- cintNeedleHalfWidth); 
     return QTransform().translate(intX, intY) 
          .rotate(fltAngle) 
          .translate(-intX, -intY) 
          .map(plyNeedle); 
    } 
+1

“我在线搜索,找不到任何东西。”这是因为他们确实保留了不错的功能隐藏;) – dtech

回答

1

我不记得在Qt的是这样的。至于箭头的位置和角度 - 如果您使用类似QPainterPathangleAtPercent()pointAtPercent()函数,则可以轻松找到这些信息。

+0

谢谢,我将调查,atm,用QPolygon绘制箭头 – SPlatten

+0

我现在已经绘制了使用QPolygon和QPainterPath的箭头,现在可以轻松地将多边形附加到一条线上,而无需锻炼所有的点,然后用线旋转它? – SPlatten

+1

@SPlatten - 你可以简单地改变画家本身,而不是旋转线条和箭头,只需旋转画家 – dtech