玩转Qt 2D绘图之坐标系
Qt 中提供了强大的 2D 绘图系统,可以使用相同的 API 在屏幕和绘图设备上进行绘制,主要基于 QPainter、QPaintDevice 和 QPaintEngine 这三个类实现,其中:
- QPainter 执行具体的绘图操作,QPainter 类提供了大量的 GUI 编程所需的函数,如 drawLine、drawImage 等。
- QPaintDevice 是一个基类,提供绘图设备的抽象接口,它是一个二维空间的抽象,可以使用 QPainter 在其上进行绘制,常见的继承该类的绘图设备有 QImage、QPixmap、QWidget、QOpenGLPaintDevice 等。
- QPaintEngine 提供了一些抽象接口,用于实现 QPainter 在不同的设备上进行绘制。QPaintEngine 由 QPaintDevice 创建并管理。