qt qgraphicsview 获取圆弧的两点坐标
时间: 2023-11-13 18:02:56 浏览: 183
要获取圆弧的两点坐标,可以使用QPainterPath类的angleAtPercent()方法:
1. 首先,创建一个QPainterPath对象,并通过其moveTo()方法设置圆弧的起点位置。
2. 然后,使用QPainterPath的arcTo()方法设置圆弧的参数,包括矩形区域、起始角度、扫过的角度。
3. 接着,使用QPainterPath的angleAtPercent()方法获取圆弧上某个百分比位置的角度。
4. 最后,使用QPainterPath的pointAtPercent()方法获取圆弧上对应角度的点坐标。
下面是示例代码:
```
QPainterPath path;
path.moveTo(50, 50);
path.arcTo(QRectF(50, 50, 100, 100), 30, 240); // 圆弧的参数
qreal startAngle = 30;
qreal endAngle = 30 + 240;
qreal middleAngle = (startAngle + endAngle) / 2; // 圆弧的中间角度
QPointF startPoint = path.pointAtPercent(startAngle / 360); // 圆弧起点坐标
QPointF endPoint = path.pointAtPercent(endAngle / 360); // 圆弧终点坐标
QPointF middlePoint = path.pointAtPercent(middleAngle / 360); // 圆弧中间点坐标
```
在上面的代码中,我们通过arcTo()方法设置圆弧的参数,然后使用pointAtPercent()方法获取圆弧的起点、终点和中间点的坐标。注意,pointAtPercent()方法的参数是一个[0,1]之间的百分比值,代表圆弧上的某个位置。因此,我们需要将角度转换成百分比值,即除以360。
阅读全文