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字符串追加进文件末尾就可以
很简单的,是你想多了