gpt4 book ai didi

c++ - 将 QList 保存到文件中?

转载 作者:行者123 更新时间:2023-11-30 01:00:56 24 4
gpt4 key购买 nike

我有一个 QLineEdit* 的 QList

QList<QLineEdit*> example;

示例将包含 100 个 lineEdits 项。

当我尝试保存或加载到文件时,无法保存或加载 QList正确地,如果有的话。我得到的数据比预期的要少得多。

我在 QList<T> 上看到的资源页 here << & >> 有正确的运算符,但是我似乎无法使用 QDataStream 将它们保存到文件中

我也尝试过将 LineEdits 中的所有“text()”值复制到单独的字符串列表中,但我仍然无法将它们保存到文件中。任何帮助将不胜感激。

编辑: 看起来是这样的。这就是我回读它们的方式,是否有更简单的方法,或者我几乎涵盖了它?

    //memoryAddresses
for(int i = 0; i < 100; i++)
{
QString temp;
loadFile >> temp;
memAddr.at(i)->setText(temp);
}

最佳答案

QList<QLineEdit*>是一个指针列表(基本上是整数,所以如果您将其写入文件,您将不会获得太多有用的信息。

text()方法应该可以满足您的需求。

foreach( const QLineEdit* le, example )
{
if( le )
{
ds << le->text();
}
}

注意 displayText 之间的区别和 text .

回读:

如果你只使用字符串,QTextStream class 使用起来更好一些(也可以在上面使用而不是 QDataStream ...为了保持一致,尽管您应该使用相同类型的流进行读取和写入)。我目前无法测试此代码,但您可以尝试这样的操作:

QList<QLineEdit*> example;
while(!stream.atEnd())
{
QString str;
stream >> str;
if( stream.isNull() )
break;
QLineEdit* le = new QLineEdit();
le->setText(str);
example.append(le);
}

关于c++ - 将 QList<T> 保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1745349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com