Qt 5.5绘制指针

时间:2016-03-21 15:02:14

标签: rotation polygon qt5.5

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

我知道我可以自己画画,但很想知道是否已经有办法做到这一点,我在网上搜索并找不到任何东西。

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

以下是我正在处理的图片:

enter image description here

我想在虚线的末尾画出箭头,它应该用从左下角指向的虚线旋转。

[edit]最后我使用了一个多边形并旋转了:

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 个答案:

答案 0 :(得分:1)

我不记得Qt中的这类事。至于箭头的位置和角度 - 如果您使用QPainterPath的{​​{1}}和angleAtPercent()函数,则可以轻松找到它们。