如何在Qt4.7(图表场景)的QGraphicSscene示例中保存图像(如流程图),以便下次重新运行程序后重绘,或者可以在其他程序中使用。
答案 0 :(得分:3)
假设您不仅希望将场景的栅格保存到png。
通常,您希望场景中的对象具有自己的保存和恢复功能,以保存对象的属性。您可以通过将对象序列化为QDataStream然后将该QDataStream存储在文件中以便重新加载来完成此操作。
例如,Polygon是我自己的类:
foreach (QGraphicsItem* currentItem, sceneItems)
{
data << (int)PolygonItem::Type;
PolygonItem* item = qgraphicsitem_cast<PolygonItem*>(currentItem);
item->save(data);
}
如果你只是想要一个png或者一个jpeg,那就简单了:
QImage image = selectedScene->toImage(size);
image.save(fileName);