Я бы сделал это так:
Допустим, у нас есть две функции-члена класса для загрузки и сохранения результатов. Для использования реестра необходимо указать имя приложения и редактор:
QSettings settings("<MyEditorName>","<myAppName>");
saveScores(&settings);
loadScores(&settings);
чтобы использовать файл, вы должны указать путь к файлу и формат:
QSettings settings("<filepath>",QSettings::iniFormat);
saveScores(&settings);
loadScores(&settings);
из вашего кода и документации; функция-член будет следующей. Класс содержит вектор оценок (QVector mScores).
Функция сохранения результатов:
void myClass::saveScores(QSettings* iSettings){
iSettings->beginGroup("Scores");
iSettings->beginWriteArray("results");
for(int i=0; i<mScores.count();i++){
iSettings->setArrayIndex(i);
iSettings->setValue("result",mScores[i]);
}
iSettings->endArray();
iSettings->endGroup();
}
Функция для загрузки результатов
void myClass::loadScores(QSettings* iSettings){
iSettings->beginGroup("Scores");
int size = iSettings->beginReadArray("results");
mScores.resize(size);
for(int i=0;i<size;i++){
iSettings->setArrayIndex(i);
mScores[i] = iSettings->value("results").toInt();
}
iSettings->endArray();
iSettings->endGroup();
}
Я использую группы, чтобы обеспечить лучшую видимость в файле сохранения, но вы можете удалить их.
person
user2019716
schedule
27.04.2013