QT用QGraphics绘制一条椭圆或三角形

时间:2015-05-10 15:36:40

标签: c++ qt math qgraphicsview qgraphicsscene

我用

绘制多行
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)

但他画椭圆错了。

我如何添加标签?我正确的方式吗?

1 个答案:

答案 0 :(得分:1)

您可以使用QLineF类来帮助您,因为它有一些不错的便利方法。

首先,您可以使用QLineF::pointAt(param)方法轻松获取沿线所需的点以绘制其他标签/形状。

此外,如果您希望将标签/形状沿切线定向,则可以使用QLineF::angle()