• 4697阅读
  • 5回复

如何将QGraphicsScene中的item区分出来【已解决】 [复制链接]

上一主题 下一主题
离线桃子cici
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-03
在QGraphicsScene中放置了若干QGraphicsItem,类型有text,有img,有path等
放置完毕后想将这些item信息保存起来,通过QList<QGraphicsItem *> listScene = scene->items();获取到所有item后,通过方法type()可以获取item的类型,但是如何将listScene中对应的其他属性提取出来?
代码部分如下,请高手支招,谢谢
  listScene = scene->items();
     fileInfo.intemNumb = listScene.count();
     for(int i=0;i< listScene.count();i++){
         if(listScene->type()==DiagramTextItem::Type)
         {
             DiagramTextItem *item = listScene;//类型转换错误          
            textItemInfo.textContent = item->toPlainText();
         }

离线桃子cici

只看该作者 1楼 发表于: 2013-01-03
问题解决,只需将listScene赋值前类型转换一下
            DiagramTextItem *item = qgraphicsitem_cast<DiagramTextItem *>(listScene);
            
离线ffii4455

只看该作者 2楼 发表于: 2013-01-03
或者放之前就保存起来?
离线桃子cici

只看该作者 3楼 发表于: 2013-01-03
回 2楼(ffii4455) 的帖子
放之前保存了座标以及其他所有属性信息
但是现在新问题又出现了,保存后,再次加载的时候,用setPos重新放置item发现位置跟保存时不对,不知道什么原因
离线twicave

只看该作者 4楼 发表于: 2013-01-11
cici,qt-project上有一个人遇到了和你同样的问题。
据说,有时候item的位置是以左上角为基准的,有的时候是以右上角为基准。
你的情况也是这样?
离线bkey

只看该作者 5楼 发表于: 2013-01-19
回 4楼(twicave) 的帖子
发现坐标无法保存啊,乱套的感觉
快速回复
限100 字节
 
上一个 下一个