我想將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