繁体   English   中英

QT使用QGraphics在直线上绘制椭圆或三角形

[英]QT drawing an ellipse or Triangle on a line with QGraphics

我用画多条线

line = scene->addLine(x1, y1, x2, x2, Pen);

现在,我想在行的中间添加标签(例如,椭圆或三角形。椭圆也许是简单的解决方案)

我的想法是为Y(newY)计算一个新点,并从x2减去一个长度。

ellipse = scene->addEllipse(x2 - lengthX, newY, w, h, Pen, Brush);

计算newY:

m =(x2-x1)/(y2 -y1)

newY = m * x2-长度+ x2-(m * y2)

但是他把椭圆画错了。

如何添加标签? 我走对了吗?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM