Qt基本图形绘制(圆、圆角矩形、圆弧、椭圆、扇形等)

首先介绍一下Qt的坐标机制:
Qt的坐标与我们常见的坐标不同,如图,假设下图的矩形就是我们的窗口,矩形左上角顶点即为坐标原点:
Qt基本图形绘制(圆、圆角矩形、圆弧、椭圆、扇形等)_第1张图片

绘制矩形
核心代码:

 paint->drawRect(20,20,160,160); 

第1、2个参数制定矩形的左上角起点,第3个参数制定矩形的长度,第4个参数指定矩形的宽度

绘制圆和椭圆
核心代码:

paint->setPen(QPen(Qt::blue,4,Qt::SolidLine));
paint->drawEllipse(20,20,210,160);

第1,2个参数表示圆/椭圆距屏幕左上角的像素数。第3,4个参数表示圆/椭圆的宽度和高度,两者相同时为圆。更加确切地表述,这个圆或椭圆是在矩形中,这个矩形的左上角的顶点在坐标轴中的位置为(20,20),这个圆或椭圆的中心为这个矩形的中心

绘制圆角矩形
核心代码:

paint->setPen(QPen(Qt::blue,4,Qt::SolidLine));
paint->drawRoundRect(20,20,210,160,50,50);

前面四个参数和绘制矩形的参数一致,最后两个参数决定角的圆度。它可以为0到99之间的任意值(99代表最圆)。

绘制扇形图
核心代码:

QRectF rectangle(10.0, 20.0, 80.0, 60.0);//设定扇形所在的矩形,扇形画在矩形内部
int startAngle = 30 * 16;//起始角度,角度可以为负值,如-30*16
int spanAngle = 120 * 16;//覆盖的角度,绘制方向为逆时针方向
QPainter painter(this);
painter.drawPie(rectangle, startAngle, spanAngle);

前四个参数定义圆(与drawEllipse()函数相同)。后两个参数定义圆的样式。0为起始角度(实际单位为1/16度),500为扇形所展开的角度(单位也为1/16度)。
这里写图片描述

绘制弦
核心代码:

paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawChord(20,20,210,160,500,1000);

drawChord()函数与drawPie()函数的参数完全相同。
这里写图片描述

绘制圆弧
核心代码:

paint->setPen(QPen(Qt::green,4,Qt::SolidLine));
paint->drawArc(20,20,210,160,500,1000);

drawArc()函数与drawPie()函数的参数完全相同。
这里写图片描述

你可能感兴趣的:(QT,Qt之路)