2009-05-15 14 views
19

通常のウィンドウマネージャは、デスクトップのQMainWindow位置の初期位置を決定すると思います。私は自分自身の初期の位置を設定したい。これはWindows上のQtでどのように行われますか?Qt:メインウィンドウの初期位置を設定する方法は?

+0

この質問に答えられる人は私にこのことを伝えることができます:どのようにしてそのウィンドウが元の位置を記憶するのですか? –

+0

http://doc.trolltech.com/4.3/geometry.html「ウィンドウのジオメトリを復元する」までスクロールしてください。 –

答えて

5

私はあなたがsetGeometryを探していると思います。

+2

Qtの最新バージョンの便利なリンク:http://doc.trolltech.com/latest/qlayoutitem html#setGeometry – Pieter

25

あなたはcloseEvent()をオーバーライドする場合は、あなたが状態を保存することができ、その後...あなたのメインウィンドウの建設中に、

QSettings settings("yourcompany", "yourapp"); 

    restoreGeometry(settings.value("geometry").toByteArray()); 
    restoreState(settings.value("state").toByteArray(),YOUR_UI_VERSION); 

restoreGeometry()とウィンドウ形状を復元し、restoreState()とのドッキング要素の状態ことができます次のように:

QSettings settings("yourcompany", "yourapp"); 

    settings.setValue("geometry", saveGeometry()); 
    settings.setValue("state", saveState(YOUR_UI_VERSION)); 

YOUR_UI_VERSIONは、あなたのUIが無効な状態を復元しようとする試みを防ぐために、大きく変化したときにインクリメントする必要があり一定です。

+0

正確に。 。 – Thomi

+1

+1:私はそれのような何かが存在していたが、正確にはわからなかった。 –

関連する問題