QSettingsでグループに分けて設定保存

QSettingsを使うとアプリの設定を簡単に保存できます。

基本的にキーと値のペアで設定項目が保存されます。

しかし、保存する項目が多くなって来たときはグループ分けすると分かりやすくなるのでグループ分けして保存する方法を紹介します。

値の書き込み

まず値をグループ内に書き込んでみます。

例えばウインドウ設定をまとめて"window"というグループに保存したければ次のように書けます。

QSettings settings(QSettings::IniFormat, QSettings::UserScope,
                       "xxx", "MyApp");
settings.beginGroup("window");
settings.setValue("width", "400");
settings.setValue("height", "300");
settings.endGroup();

endGroupが呼ばれるまでそのグループ内に値を書き込むことができます。

保存されたINIファイルを見てみると次のような形式で値が保存されていました。

[window]
width=400
height=300

値の読み込み

保存ができたので次に値を読みだしてみます。

読み込みの時は保存するときと違って少し変わった方法を使います。

例えば今紹介した例の"window"グループの"width"の値を読み出したければ...

QSettings settings(QSettings::IniFormat, QSettings::UserScope,
                       "xxx", "MyApp");
int width = settings.value("window/width").toInt();

こうします。

このようにグループ内の値にアクセスするときは

"グループ名/値名"

というようにグループ名と値名をスラッシュで区切ったものをキーとして使用します。

以上、グループを使った保存方法でした。では、また!!

関連項目
プライバシーポリシー