2011-09-13 8 views

答えて

5

私はちょうど隠されたウィジェットにQWidget::mapToGlobal(QPoint(0,0))を呼び出す小さなプログラムを書いた。私が見つけたのは、自分の立場を尋ねる前にウィジェットがすでに画面に表示されていたかどうかによって、私の位置が変わったということでした。

QWidget::mapToGlobal()ドキュメントは言う:

は、ウィジェットがグローバルな画面座標にPOSを座標変換します。たとえば、mapToGlobal(QPoint(0,0))は、ウィジェットの左上のピクセルのグローバル座標を返します。

これを読んだところ、ウィジェットが表示されていないと、画面上にグローバルな位置が保証されていない可能性があるようです。

このメソッドを呼び出すことによって得られる実際の結果は、ウィジェットが最後に表示された位置によって異なります。したがって、Qtの現在または将来のバージョンで安定しているこの動作に依存することは賢明ではないようです。

関連する問題