首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt文件读写有关问题

2012-03-29 
qt文件读写问题弄了一下午最后一个还是没有解决写入for(int i0iit.size()i++){anquantongdao *my dy

qt文件读写问题
弄了一下午最后一个还是没有解决
写入
  for(int i=0;i<it.size();i++)
  {
  anquantongdao *my = dynamic_cast<anquantongdao *>(it.value(i));
  if(my!=0) //anquantongdao是继承的QGraphicsItem
  {
  out<<my->scenePos();

  out<<my->youjiancaidan;
  out<<my->light;
  }
  }
读出
  while(!file.atEnd())
  {

  QPointF po;
  int x;
  int lig;
  in>>po>>x>>lig;
  anquantongdao *newanquan = new anquantongdao;
  newanquan->setLight(lig);

  newanquan->setYoujiancaidan(x);
  scene->addItem(newanquan);
  newanquan->setPos(po);
  }

把这段注释起来,前面的读写都没问题
这段一用,就异常,感觉是循环出了问题

[解决办法]
while(!file.atEnd())
{

QPointF po;
int x;
int lig;
in>>po>>x>>lig;
qDebug()<<po<<x<<lig;逐个输出变量值,看看文件有没有被正确读取。
anquantongdao *newanquan = new anquantongdao;
newanquan->setLight(lig);

newanquan->setYoujiancaidan(x);
scene->addItem(newanquan);
newanquan->setPos(po);
}
第一步先将代码这样改动,注视掉红色的部分。增加qDebug.
如果正常,将红色的部分改动如下:
anquantongdao *newanquan = new anquantongdao;
scene->addItem(newanquan);
newanquan->setLight(lig);
newanquan->setYoujiancaidan(x);
newanquan->setPos(po);

热点排行