我想将QList<int>
保存到我的QSettings中,但不循环。
我知道,我可以使用writeArray()和一个循环保存所有的项目或写的QList到的QByteArray和保存这一点,但那就不是人类可读在我的INI文件..将QList <int>保存到QSettings
目前我使用下面以改变我QList<int>
到QList<QVariant>
:
QList<QVariant> variantList;
//Temp is the QList<int>
for (int i = 0; i < temp.size(); i++)
variantList.append(temp.at(i));
,并保存这个QList<Variant>
我的设置我用下面的代码:
QVariant list;
list.setValue(variantList);
//saveSession is my QSettings object
saveSession.setValue("MyList", list);
的QList作正确保存到我的INI文件,因为我可以看到(逗号分隔我的整数列表)
但该函数在退出时崩溃。
我已经尝试过使用指向我的QSettings对象的指针,但随后它在删除指针时崩溃了。
我不明白的是,为了创造你'QVariant'列出你通过你的'int'列表循环,这正是你尽量避免。我错过了什么吗? – gregseth 2010-03-16 09:08:34
没有..我以为我可以直接保存我的QList,但它似乎只适用于QList ..我想避免的是用writeArray保存List,因为列表应该写入另一个writeArray命令中,并且我不知道这是否会工作.. –
Tobias
2010-03-16 10:51:02
我现在意识到它作为一个QString ..而不是循环通过我的QList创建一个QList 我追加到一个QString值(逗号分隔),因为我喜欢它显示在INI文件和加载我分割字符串(','),并再次创建我的QList 。 –
Tobias
2010-03-18 09:09:22