收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
背景
1、Qt是一个跨平台的C++应用程序框架,它提供了一套用于GUI编程的类库,包括了绘图、网络、XML、数据库、多线程等模块,使开发者可以快速地开发出高质量的跨平台应用程序。
2、GDI+是Windows操作系统中的图形设备接口,它提供了一套用于绘制图形的API,包括了图形渲染、图形变换、图形剪切、图形填充等功能,使开发者可以快速地开发出各种类型的图形应用程序。
在Qt中,可以使用Qt的绘图类库来进行图形绘制,也可以使用GDI+来进行图形绘制。下面分别介绍Qt绘图和GDI+的绘图方式。
一、Qt绘图
Qt提供了一套用于绘图的类库,包括了QPainter、QPen、QBrush等类,使开发者可以快速地进行图形绘制。下面是Qt绘图的基本步骤:
- 创建QPainter对象
QPainter对象是用于绘制图形的核心对象,需要先创建一个QPainter对象。
QPainter painter(this);
- 设置画笔和画刷
画笔用于绘制图形的轮廓,可以设置颜色、线宽、线型等属性;画刷用于填充图形的内部,可以设置颜色、填充样式等属性。
QPen pen(Qt::red, 2, Qt::DashLine);
QBrush brush(Qt::green, Qt::SolidPattern);
painter.setPen(pen);
painter.setBrush(brush);
- 绘制图形
可以使用QPainter提供的各种绘图函数来绘制图形,如绘制直线、矩形、圆形、椭圆等。
painter.drawLine(QPointF(10, 10), QPointF(100, 100));
painter.drawRect(QRectF(10, 10, 100, 100));
painter.drawEllipse(QRectF(10, 10, 100, 100));
- 结束绘制
绘制完成后需要结束绘制,释放QPainter对象。
painter.end();
二、GDI+绘图
GDI+提供了一套用于绘图的API,包括了Graphics、Pen、Brush等类,使开发者可以快速地进行图形绘制。下面是GDI+绘图的基本步骤:
注意:走GDI+比较慢,通过代码反色消除前一次,再绘制一次,显得绘制的快(有时候要画两次)
- 创建Graphics对象
Graphics对象是用于绘制图形的核心对象,需要先创建一个Graphics对象。
Graphics graphics(hdc);
- 创建Pen和Brush对象
Pen用于绘制图形的轮廓,可以设置颜色、线宽、线型等属性;Brush用于填充图形的内部,可以设置颜色、填充样式等属性。
收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
我V获取:vip1024c (备注嵌入式)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人
都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!