在paint事件期间,我如何重用以前的绘画,以便只在以前的结果上进行绘画。现在整个渲染区域需要重新绘制。
我要试试QPixmap。
我真的需要使用update吗?
发布于 2009-12-30 03:10:53
您希望在QImage
或QPixmap
(可能是QPixmap
)中缓存绘画。如果您经常这样做,那么您可能还想看看QPixmapCache
。
此外,很多绘图可以预先计算,然后使用QPainterPath
快速完成。我会经常使用它们并在必要时重新计算,而不是将整个绘制事件缓存到像素图中。
编辑:
我还简短地提到了QPicture,这也可能是您想要了解的内容:
QPicture类是一个用于记录和回放QPainter命令的绘图设备。
发布于 2009-12-30 03:06:06
如果希望避免在paintEvent()中实例化变量,可以使它们成为成员变量-这包括QPainter对象。只有在需要小部件重新绘制自身时,才需要调用update()。
为什么你不想从头开始重新粉刷呢?这是一种过早的优化吗,或者你注意到速度变慢了吗?
https://stackoverflow.com/questions/1976079
复制相似问题