我用
绘制多行line = scene->addLine(x1, y1, x2, x2, Pen);
现在我想在线条的中间添加一个标签(例如椭圆或三角形。椭圆可能是简单的解决方案)
我的想法是为Y(newY)计算一个新点,并从x2获得一个长度。
ellipse = scene->addEllipse(x2 - lengthX, newY, w, h, Pen, Brush);
Calc newY:
m =(x2-x1)/(y2 -y1)
newY = m * x2 - 长度+ x2 - (m * y2)
但他画椭圆错了。
我如何添加标签?我正确的方式吗?
答案 0 :(得分:1)
您可以使用QLineF
类来帮助您,因为它有一些不错的便利方法。
首先,您可以使用QLineF::pointAt(param)
方法轻松获取沿线所需的点以绘制其他标签/形状。
此外,如果您希望将标签/形状沿切线定向,则可以使用QLineF::angle()
。