4

QMLを使用するQtで書かれたプログラムがあります。

要素のドラッグ中にリアルタイムで座標を知ることができるかどうか知りたいです。

実際には、カーソルを置き換えるカスタム イメージを使用します。その位置は、カーソルの座標 (非表示) で更新されます。

「onPositionChanged」を使用してマウス カーソルの位置を実際に復元することも、「onClicked」を使用してクリックした直後に復元することもできます。

ドラッグ中にこれらの座標も知りたいので、「onPressed」と「onPressAndHold」で試しましたが、成功せず、カスタムカーソルの位置はクリックリリースでのみ更新されます。

事前に感謝します。

4

2 に答える 2

10

要素をドラッグすると、 プロパティxyプロパティが直接変更されるため、これらを監視できます。

Rectangle {

    id: draggable

    width: 100
    height: 100

    onXChanged: {
        if (mouseArea.drag.active) {
            console.log("x=" + x)
        }
    }
    onYChanged: {
        if (mouseArea.drag.active) {
          console.log("y=" + y)
        }
    }

    MouseArea {
        id: mouseArea
        anchors.fill: parent
        drag {
            target: draggable
            axis: Drag.XandYAxis
        }
    }
}
于 2013-01-15T09:42:43.790 に答える
0

MouseArea に "hoverEnabled: true" を設定することを検討してください

于 2018-03-30T11:34:16.227 に答える