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

https://blog.csdn.net/qq_40194498/article/details/79650641
首先介绍一下Qt的座标机制:
Qt的座标与我们常见的座标不同,如图,假设下图的矩形就是我们的窗口,矩形左上角顶点即为座标原点:

这里写图片描述

绘制矩形
核心代码:

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

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

绘制圆和椭圆
核心代码:

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

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

绘制圆角矩形
核心代码:

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

前面四个参数和绘制矩形的参数一致,最后两个参数决定角的圆度。它可以为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);
  • 1
  • 2
  • 3
  • 4
  • 5

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

绘制弦
核心代码:

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

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

绘制圆弧
核心代码:

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章