ToolBarやDockWidgetの状態を保存する
http://d.hatena.ne.jp/QtCoder/20110810/1312993363 (設定を保存する
Qtの特徴として、ToolBarやDockWidgetを使ったアプリケーション開発が挙げられますが、これらWidgetのフローティング状態や位置・サイズを保存しておくために、restoreGeometry、saveGeometryなどのメソッドが用意されています。ウィンドウ一つ一つの設定を保存しなくても、一気に全ての設定を保存・読み込みできる、大変便利な仕組みです!最高!
// 設定を読み込む (MainWindow上で) restoreGeometry( mSettings->value( "main/geometry" ).toByteArray() ); restoreState( mSettings->value( "main/windowState" ).toByteArray() ); // 設定を保存する mSettings->setValue( "main/geometry", saveGeometry() ); mSettings->setValue( "main/windowState", saveState() );
保存の際、各WidgetのobjectNameを使うようで、objectNameが設定されていないと処理ができず、
QMainWindow::saveState(): 'objectName' not set for QDockWidget
のようなメッセージがコンソールに出力されます。ToolBarもDockWidgetも、setObjectName しておきましょう。