Skip to content

Latest commit

 

History

History
7 lines (7 loc) · 983 Bytes

paint.md

File metadata and controls

7 lines (7 loc) · 983 Bytes

Qt绘制系统

  • Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainterQPainterDeviceQPaintEngine三个类。
    • QPainter用来执行绘制的操作;
    • QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间
    • QPaintEngine提供了画笔(QPainter)在不同的设备上进行绘制的统一的接口。
  • QPaintEngine类应用于QPainter和QPaintDevice之间,通常对开发人员是透明的。除非你需要自定义一个设备,否则你是不需要关心QPaintEngine这个类的。
  • 我们可以把QPainter理解成画笔;把QPaintDevice理解成使用画笔的地方,比如纸张、屏幕等;而对于纸张、屏幕而言,肯定要使用不同的画笔绘制,为了统一使用一种画笔,我们设计了QPaintEngine类,这个类让不同的纸张、屏幕都能使用一种画笔。