私は次のようにします:
スコアをロードおよび保存するクラスの 2 つの関数メンバーがあるとします。レジストリを使用するには、アプリケーション名とエディターを指定する必要があります。
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();
}
保存ファイルの可視性を高めるためにグループを使用していますが、グループを削除できます