Qt 5.5 绘制指针
Qt 5.5 drawing a pointer
在 Qt 中是否有在行尾绘制 arrow/pointer 的内置方法?
我知道我可以自己画,但很想知道是否已经有这样的方法,我在网上搜索并没有找到任何东西。
我希望能够旋转线条,箭头也随之旋转
下面是我正在处理的图像:
我想在虚线的末端画箭头,它应该从左下角的虚线指向周围旋转。
[edit] 最后我使用了一个多边形并旋转了它:
添加多边形针的代码:
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);
}
我不记得在 Qt 中有类似的东西。至于箭头的位置和角度 - 如果您使用 QPainterPath
的 angleAtPercent()
和 pointAtPercent()
函数,您可以轻松找到它们。
在 Qt 中是否有在行尾绘制 arrow/pointer 的内置方法?
我知道我可以自己画,但很想知道是否已经有这样的方法,我在网上搜索并没有找到任何东西。
我希望能够旋转线条,箭头也随之旋转
下面是我正在处理的图像:
我想在虚线的末端画箭头,它应该从左下角的虚线指向周围旋转。
[edit] 最后我使用了一个多边形并旋转了它:
添加多边形针的代码:
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);
}
我不记得在 Qt 中有类似的东西。至于箭头的位置和角度 - 如果您使用 QPainterPath
的 angleAtPercent()
和 pointAtPercent()
函数,您可以轻松找到它们。