关于QGraphicsItem的保存,用二进制读写保存item的pos,pixmap等数据。大家有没有什么好的例子,或者是建议?
因为保存的内容看不见,报错也不知道是哪里错了。还有QDataStream只能一个一个读然后一个一个拿出来用,而且还得类型对应,怎么应对读的内容变化的情况?
------解决方案--------------------
可以在每个QGraphicsItem里设置两个函数,如下所示:
//保存
void save(QDataStream& stream){
QPointF pos = scenePos();
Qpixmap img;
stream << pos;
stream << img;
}
//读取
void load(QDataStream& stream){
QPointF pos;
Qpixmap img;
stream >> pos;
stream >> img;
setPos(pos);
}
在每一步进行单步调试就可以查看错误。