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

QT QLineEdit输入IP保存的有关问题

2012-04-13 
QTQLineEdit输入IP保存的问题现遇到一个不知道怎么解决的问题,求高手帮忙解决,我在widget里开了一个输入IP

QT QLineEdit输入IP保存的问题
现遇到一个不知道怎么解决的问题,求高手帮忙解决,我在widget里开了一个输入IP的QLineEdit,我如何将每次输入的不同IP保存下来,用QString QStringList尝试过了,但只能将最后一次配置的IP保存,之前的都被覆盖了,还不可以,
 
这是我的代码,谢谢

 void Client::saveFiles()
{  
  IpEdit= new QLineEdit;

  QString IP=IpEdit->text();
  IP.append(";");//在每个IP后面添加“;”隔开,区分不同客户机
  QStringList clientIPList;
  clientIPList.append(IP);//将每个IP串成LIST,
  IP=clientIPList.join(";");//再改成QString 类型的IP


  QFile file("D:\IP.txt");
  if(file.open(QFile::WriteOnly))
  {
  QTextStream stream(&file);
  stream<<IP; //存储部分,
  file.close();
  }

}

[解决办法]
1.clientIPList最好是全局变量,没猜错的话你的saveFiles()函数应该是个槽函数
这样你虽然想存多个IP字符串,但是由于每次调用这个槽函数,clientIPList都是新建的,里面必然只有当先QLineEdit的一个ip
2.你是存进一个QStringList,不是一个字符串,无需每个Ip后面加“;”
3.你的写文件问题,如果你把写文件的步骤写在了这个函数里面,你就无需在用一个QStringList啊,得到当前的QLineEdit值以后直接可以写文件的时候append模式添加在文件的下一行的。或是你写文件的步骤脱离这个函数,采用第一条的方法clientIPList为全局的,然后单独的一个函数把list的内容循环写入,两种方法都可以
如果你不想改动特别大的话,这个函数无需用list,直接把得到的ip字符串追加进文件末尾就可以
很简单的,是你想多了

热点排行