1. ホーム
  2. c++

[解決済み】QtアプリでQSettingsを使用して設定を読み込む方法

2022-02-19 09:33:51

質問

2つの方法が考えられます。

  • すべての設定を何らかの構造体にロードする
  • ロード値オンデマンド

どのようなアプローチが良いのでしょうか?

どのように解決するのか?

をどのように使用するかによります。 設定ファイル . アプリケーションのユーザーに 動的に ファイル(.iniファイルなど)の設定を変更しますか?それともGUIで設定しなければならないのでしょうか?

もし、GUIで設定を変更するのであれば、アプリケーションの開始時に静的なクラスから主な設定をロードすることをお勧めします。

void SettingsManager::loadSettings()
{
    // .ini format example
    QSettings settings(FileName, QSettings::IniFormat);

    IntegerSetting = settings.value("SettingName", default).toInt();
    BooleanSetting = settings.value("SettingName", default).toBool();

    // ...
}

そして、変更した値をオンデマンドで保存するのは QSettings の最適化を行います。

/**
  * key is your setting name
  * variant is your value (could be string, integer, boolean, etc.)
  */
void SettingsManager::writeSetting(const QString &key, const QVariant &variant)
{
    QSettings settings(FileName, QSettings::IniFormat);

    settings.setValue(key, variant);
}