2

ドッキング可能なウィジェットがいくつかあり、ユーザーはそれを画面の任意の場所に移動できます。また、ユーザーが表示可能領域の外にドラッグした場合、元に戻す方法がない場合もあります。

Qtのウィジェットの位置をデフォルトの位置に戻す方法はありますか?

4

3 に答える 3

1

QMainWindow::saveState()メソッドとメソッドを使用できますQMainWindow::restoreState()

saveStateQByteArrayドック領域のドック ウィジェットの状態と位置を含む、メイン ウィンドウの内部状態を含む を返します。たとえば、この配列をファイルに保存し、後で を呼び出して内容を復元できますrestoreState()

デフォルトの位置が必要な場合は、ドックウィジェットをデフォルトで好きなように配置し、バイト配列を取得して (たとえば、アプリケーションのデバッグモードでのみ使用できるアクションを介して)、ハードコーディングされた配列をソースコードまたはデフォルトの構成ファイルに配置し、この配列をrestoreState()メソッドに渡すだけで、ある種の「リセット」または「デフォルトの設定」アクションを実装します。

于 2013-05-16T12:37:57.317 に答える
0

通常は、QWidgets の場所をテストするチェックをmouseMoveEventに追加し、ウィジェットを画面に戻す必要があるかどうかを判断します。

于 2013-05-16T12:39:38.943 に答える