1.参数圆心坐标,起点坐标,终点坐标
效果绘制圆弧
核心代码:
void qt_test_learning::drawArcWithThreePoints(QPainter *painter, const QPointF ¢erPoint, const QPointF &startPoint, const QPointF &endPoint)
{
// 计算圆的半径
qreal radius = QLineF(centerPoint, startPoint).length();
// 计算圆心角的角度值
qreal startAngle = QLineF(centerPoint, startPoint).angle();
qreal endAngle = QLineF(centerPoint, endPoint).angle();
qreal spanAngle = endAngle - startAngle;
// 绘制弧线
QRectF rect(centerPoint.x() - radius, centerPoint.y() - radius, 2 * radius, 2 * radius);
painter->drawArc(rect, startAngle * 16, spanAngle * 16);
}
运行demo: