我正在paintEvent()
自定义小部件中进行一些合成。当某些区域已经绘制时,一些合成就完成了,我需要访问目前绘制的当前内容。
所以,我正在寻找一种在paintEvent
. 我看过QBackingStore
,但那里没有任何东西可以直接让我访问后备存储位图。是否有一些 API,也许是私有的,可以用来提供它?
如果没有,我将不得不在显式像素图上进行绘制并将该像素图渲染到小部件上。
我正在paintEvent()
自定义小部件中进行一些合成。当某些区域已经绘制时,一些合成就完成了,我需要访问目前绘制的当前内容。
所以,我正在寻找一种在paintEvent
. 我看过QBackingStore
,但那里没有任何东西可以直接让我访问后备存储位图。是否有一些 API,也许是私有的,可以用来提供它?
如果没有,我将不得不在显式像素图上进行绘制并将该像素图渲染到小部件上。
这是可能的,但它不是便携式的。在大多数平台上,QBackingStore
它只是一个围绕QImage
缓冲区的包装类,但我想这不能保证。我在写的时候研究过这个问题QuickWidget
。需要演员表:
QImage * image = dynamic_cast<QImage*>(backingStore()->paintDevice());
if (image != 0) // it's an image, do something with it
小心,但不要导致QImage
分离。诸如调整大小之类的事情是不受限制的。
检查QuickWidget
出在: