5

いくつかの内部ドッキング可能なウィンドウを備えたメイン ウィンドウがあります。ドッキング可能なウィンドウを移動、サイズ変更、再ドッキングできます。プログラムを閉じて再度開いた後、移動、サイズ、および再ドッキングが保持されるようにします。それを実装する簡単な方法はありますか?設定で使えると思います。しかし、どの情報を設定に保存する必要がありますか。そして、これらすべてのドック ウィンドウのデフォルト レイアウトを設定する方法は? アクションボタンをクリックすると、元に戻すことができます。ありがとう。

4

2 に答える 2

21

QMainWindow::saveState/restoreState を確認してください。それはまさにこれを行います。

保存する:

QSettings settings;
settings.setValue("DOCK_LOCATIONS",this->saveState(SOME_VERSION_DEFINE));

復元するには:

QSettings settings;
this->restoreState(settings.value("DOCK_LOCATIONS").toByteArray(),SOME_VERSION_DEFINE);
于 2013-04-25T11:54:07.300 に答える
-3

残念ながら、これを行う組み込みの方法はありません。

すべてのツールバーとドッキング可能なウィジェットをループして、それらの位置 (および場合によってはそれらの可視性) をファイルに書き込む必要があります。復元するには、そのファイルを読み取り、読み取った内容に基づいて位置を設定できます。

幸いなことに、このようなシステムをセットアップしたら、デフォルト レイアウトを簡単に作成できます。上記のユーザー レイアウトと同様に、すべてのウィジェットを必要な場所に移動し、レイアウト ファイルを保存します。すべてが別々のファイルを取得する限り、複数のレイアウトを使用することもできます。

于 2013-01-12T00:23:59.667 に答える