一、绘图基础
2D 绘图系统如下:
2D 绘图主要是 QPainter、QPaintDevice、QPaintEngine 三个类,主要类的作用(其关系见图示)
- QPainter(绘制器)是用来执行绘图的操作,用于描述需要绘制的图形,比如需要绘制线、矩形、圆形等。
- QPaintDevice(绘图设备)是抽象出来的需要绘制的绘图设备,即可以在什么上面绘制图形,比如可在 QWidget、QImage、QPrinter 等上面绘图。
- QPaintEngine(绘图引擎)提供 QPainter 绘制在不同类型设备上的接口,比如光栅绘图引擎,OPenGL 绘图引擎等。该类通常由 QPainter 和 QPaintDevice 内部使用,除非创建自定义的设备类型,否则通常不需要使用该类。
二、QPainter类
使用 QPainter 绘制图形的步骤:
- 创建一个 QPainter 对象;
- 调用QPainter::begin(QPaintDevice)指定绘图设备并开始绘制,此步骤也可在 QPainter的构造函数中完成。注意:每次调用begin()函数都会把QPainter 的设置重置为默认值。
- 调用 QPain