設定を保存する

アプリケーションの設定などを簡単に保存できるように、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