我对文件流没有任何经验,并尝试将场景项目保存到文件中供以后使用。 我正在使用PySide和Qt 4.7 lib。我是否必须使用writeRawData来保存项目列表或什么?
我将不胜感激任何帮助。一些例子可以让我的一天。感谢。
答案 0 :(得分:1)
无法直接将QGraphicsItem保存在可重新加载的文件中(pixmap除外)。
但是,您可以创建一个文件,其中包含视图中每个项目的说明。您需要做的是列出定义每个项目的每个信息(项目类型,位置,形状等)并将它们存储在文件中。
例如,收集rect,ellipse和line item的信息:
scene = QGraphicsScene();
scene.addEllipse( 100, 100, 50, 50 )
scene.addRect( 200, 12, 120, 50 )
scene.addLine( 50, 70, 100, 400 )
for item in scene.items():
if item.type() == QGraphicsEllipseItem().type():
print "Ellipse", item.rect()
elif item.type() == QGraphicsRectItem().type():
print "Rectangle", item.rect()
elif item.type() == QGraphicsLineItem().type():
print "Line", item.line().p1(), item.line().p2()