弧线
QRect rect(w/4, h/4, w/2, h/2);
int startAngle = 90 * 16;
int spanAngle = 90 * 16;
painter.drawArc(rect, startAngle, spanAngle);

弦
QRect rect(w/4, h/4, w/2, h/2);
int startAngle = 90 * 16;
int spanAngle = 90 * 16;
painter.drawChord(rect, startAngle, spanAngle);

多边形
QPoint points[4]{
QPoint(5*w/12, h/4),
QPoint(3*w/4, 5*h/12),
QPoint(5*w/12, 3*h/4),
QPoint(w/4, 5*w/12)
};
painter.drawConvexPolygon(points, 4);

椭圆
QRect rect(w/4, h/4, w/2, h/2);
painter.drawEllipse(rect);

直线
QLine line(w/4, h/4, w/2, h/2);
painter.drawLine(line);

一批直线
QRect rect(w/4, h/4, w/2, h/2);
QVector<QLine> lines;
lines.append(QLine(rect.topLeft(), rect.bottomRight()));
lines.append(QLine(rect.bottomLeft(), rect.topRight()));
lines.append(QLine(rect.topLeft(), rect.bottomLeft()));
lines.append(QLine(rect.topRight(), rect.bottomRight()));
painter.drawLines(lines);

QPainterPath 自定义的路线
QRect rect(w/4, h/4, w/2, h/2);
QPainterPath path;
path.addEllipse(rect);
path.addRect(rect);
painter.drawPath(path);

画扇形
QRect rect(w/4, h/4, w/2, h/2);
int startAngle = 40 *16;
int spanAngle = 120 * 16;
painter.drawPie(rect, startAngle, spanAngle);

评论