Qt4 (ここでは PyQt4 を使用) を使用して、2 つの QWidget の交差領域を取得します。これは、選択を行うときに QRubberband で特に役立ちます。
intersection = rubberband.geometry().intersected(mydocumentwidget.geometry())
rubberband
これは、と が同じ親ウィジェットを持っていることを前提としmydocumentwidget
ています。つまり、より正確には、それらの座標は同じ原点を基準にしています。これは、メソッド呼び出しQRect.intersected()
自体QRect
が親を持たず、4 つの整数といくつかのメソッド呼び出しを持つ単純なタプルであるためです。
私の場合、同じ親rubberband
をmydocumentwidget
持っていますが、ラバーバンドと mydocument の子、つまりドキュメントのページとの交差に興味があります。ただし、ページは座標を画面上の別のポイントに参照します。
ラバーバンドとページ ウィジェットの交差を計算するにはどうすればよいですか? 親の親を参照するように座標を変換する方法はありますか? もちろん、自分で計算することはできますが、あまりきれいではないと思います。Qt4 はこれを自動的に変換する手段を提供していますか?