与QPaintDevice类和QPaintEngine类一起,QPainter来自于Qt的绘画系统的基础。QPainter是用来执行绘画操作的类。QPaintDevice表现了一个可以用QPainter绘画的设备。QPaintEngine提供了绘画者在不同类型设备上绘画的接口。如果绘画者是活跃的,device()返回绘画者所在的绘画设备,paintEngine()返回当前绘画者操作的绘画引擎。更多的信息去参考帮助手册的Paint System。
有时候我们需要在一些非QPaintDevice上进行绘画,QPainter提供了一个静态函数setRedirected()来做这件事情。
警告:当绘画设备是一个控件的时候,QPaint仅能被用在paintEvent()内部,或者由paintEvent()函数调用的函数中。设置Qt::WA_PaintOutsidePaintEvent不起作用。在Mac或者Windows上,你只能在paintEvent()中绘画,不管这个属性如何设置。
这个也是个很复杂的功能,下面的具体介绍太长了,用到的时候再查吧。