我做的是里面的一些合成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
出在:
https://code.google.com/p/quickwidget/