Я хочу сохранить 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, как я могу видеть (разделенный запятой список моих ints)
Но функция вылетает при выходе.
я уже пытался использовать указатель на мой QSettings объект, но вместо этого, то он выходит из строя при удалении указателя ..
То, что я не получаю, что для того, чтобы создать вы 'QVariant' список вам цикл через' int' список, который точно вы попытайся избежать. Я что-то упускаю? – gregseth
Нет. Я подумал, что могу напрямую сохранить свой QList, но он работает только с QList .. Я хочу избежать сохранения списка с помощью writeArray, потому что список должен быть написан в другой команде writeArray и Я не знаю, будет ли это работать. –
Tobias
Я понял это сейчас как QString .. Вместо того, чтобы перебирать QList для создания QList Я добавляю значения в QString (разделенный запятой), поскольку мне нравится, чтобы он отображался в INI, а на Load я разделяю String (по ',') и снова создаю свой QList . –
Tobias