2

私は Microsoft Paint に似たプログラムを持っており、キャンバスのサイズ変更の実装に取り​​組んでいます。マウスカーソルがサイズ変更範囲に移動したかどうか、およびマウスの移動中にマウスの左ボタンが押されたかどうかを検出する必要があります。私はQGraphicsRectItem自分のキャンバスとして設定しており、マウスの動きとマウスボタンの状態を選択せず​​に検出したいと考えていますQGraphicsRectItem

QGraphicsItem.hoverMoveEventカーソルがサイズ変更範囲内にあるかどうかを検出するために使用していましたが、マウスの左ボタンを押したままにすると、hoverMoveEventトリガーされなくなりました。

ありますがmouseMoveEventドキュメントが言うように

このイベントを受け取った場合、このアイテムもマウス プレス イベントを受け取ったこと、およびこのアイテムが現在のマウス グラバーであることを確認できます。

私のプログラムでは、サイズ変更時にキャンバスが現在のマウス グラバーになることは実際的ではありません。キャンバスのサイズを変更している間、選択状態を保持する必要がある他のオブジェクトがあるかもしれません。

QGraphicsScenemy を含むでこれをQGraphicsRectitem実行できることはわかっていますが、それらの間の相互依存を避けるために、これをすべて my で実行できるようにしたいと考えていますQGraphicsRectItem

だから私の質問は、可能であれば、選択されていない状態でマウスの動きとマウスボタンの状態を検出するにはどうすればよいQGraphicsRectitemですか?

4

0 に答える 0