設定を保存する
アプリケーションの設定などを簡単に保存できるように、QSettingsという便利なクラスがあります。設定の保存は、iniファイルまたはレジストリを選べます。とにかく便利なので、自作していた設定保存クラスとはおさらばですw
以下、設定クラスを開き、保存されていたプロパティを取り出し、プロパティを書き込む流れです。QVariant というクラスを介すのが面白いですね。
#include <QSettings> QSettings* mSettings; mSettings = new QSettings( "setting.ini", QSettings::IniFormat ); // iniファイルで設定を保存 mSettings->setIniCodec( "UTF-8" ); // iniファイルの文字コード /* レジストリの HKEY_CURRENT_USER に保存する場合 mSettings = new QSettings( "MyCompany", "MyApp" ); */ // geometryプロパティを取得 (存在してるなら) QVariant v = mSettings->value( "main/geometry" ); if (v.type() != QVariant::Invalid) { QRect g = v.toRect(); setGeometry( g ); } // geometryプロパティを書き込む mSettings->setValue( "main/geometry", geometry() ); delete mSettings;
valueの値が存在せず、取得できない時の為に、デフォルト値の指定もできます。
http://doc.qt.nokia.com/stable/qsettings.html#value