saveState() と saveGeometry()

http://d.hatena.ne.jp/QtCoder/20110811/1313022743 (ToolBarやDockWidgetの状態を保存する

以前、このような内容の記事を書きましたが、勘違いしてた所がありました。

MainWindow の saveGeometry() によって、DockWidgetのサイズも保存されるかと思っていたんですが、そうでは無かったようです。saveState() は MainWindowが抱えてる DockWidgetの状態や位置を覚えますが、saveGeometry() は、あくまで MainWindowのサイズだけのようです。各DockWidgetのサイズについては、

mSettings->setValue( "main/geometry", saveGeometry() ); // MainWindowのサイズ
mSettings->setValue( "widgetA/geometry", mWidgetA->saveGeometry() ); // 以下DockWidgetのサイズ
mSettings->setValue( "widgetB/geometry", mWidgetB->saveGeometry() );
mSettings->setValue( "widgetC/geometry", mWidgetC->saveGeometry() );

というように、個別に保存する必要があるようです。