• 6877阅读
  • 3回复

关于对QGraphicsItem保存问题 [复制链接]

上一主题 下一主题
离线xdl19880228
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-26
最近做了一个绘图软件,画布是QGraphicsScene,然后每个用画笔画出的图形都是一个对象QGraphicsItem,我现在做到保存的地方了,我想让我保存效果是当我在用我的软件打开这个我保存的文件的时候上面的图形还是我可以操作的对象的效果,我现在大体思路知道,就是用序列化把item的位置,以及item内的图形各个点,画笔的宽度,颜色等保存在一个xml文件,然后打开的时候就是在读出这个xml文件的内容再新建一个场景,按照xml文件的相应内容创建一系列的item,但是怎么把这些数据QPointF,QPen,QBrush序列化保存在规定的xml文件中呢?那位大侠谁做过能否帮忙解答一下啊
离线xdl19880228
只看该作者 1楼 发表于: 2011-08-26
主要是不知道怎么写  因为刚学QT C++没多长时间 希望高手能说的详细一点 最好是能帮忙开个头
离线ljjdhr
只看该作者 2楼 发表于: 2012-02-12
请问楼主这个问题解决了没有啊,我也遇到相似的问题
离线ninsun

只看该作者 3楼 发表于: 2012-02-13
QDataStream &    operator<< ( QDataStream & stream, const QPen & pen )
QDataStream &    operator>> ( QDataStream & stream, QPen & pen )

稍微看了一下帮助, 发现了这两个玩意....

也就是说, 你可以将一个QPen对象通过 << 操作, 写入到一个QDataStream里面
诸如
QPen _pen;
QDataStream _ds;
_ds << _pen;
然后通过一个 >> 操作 输出到另一个Qpen对象中...
诸如
QPen _pen;
QDataStream _ds;
_ds >> _pen;
而QDataStream是可以直接写入到文件之中的...
剩下的应该就好办了吧....
快速回复
限100 字节
 
上一个 下一个