このページでは

C

MouseArea QML Type

シンプルなタッチ操作を可能にする。もっと見る...

Import Statement: import QtQuick
Since: Qt Quick Ultralite 1.0
Inherits:

Item

プロパティ

信号

詳細説明

MouseArea は不可視のアイテムで、通常、可視のアイテムと共に使用され、そのアイテムのタッチハンドリングを提供します。効果的にプロキシとして動作することで、タッチ処理のロジックをMouseAreaアイテム内に含めることができます。

enabled プロパティは、プロキシされたアイテムのタッチハンドリングの有効/無効に使用されます。無効にすると、領域はタッチ イベントに対して透明になります。

MouseAreaは不可視アイテムですが、visibleプロパティを持っています。falseに設定すると、領域はタッチイベントに対して透明になる。

pressed read-onlyプロパティは、ユーザがマウス領域上で押下しているかどうかを示す。このプロパティは、ユーザーインターフェイスのプロパティ間のバインディングでよく使用されます。

タッチ位置と押された状態に関する情報は、イベントハンドラプロパティが定義されているシグナルを介して提供される。最も一般的に使用されるのは、onClicked、onPressed、onReleased、onPressAndHoldといった、タッチ押下の処理です。

MouseAreaが他のMouseAreaアイテムの領域と重なっている場合、一番上の領域だけがイベントを受け取ります。

使用例

マウス入力をサポートする緑色の四角形と、その横の赤い四角形。

次の例では、Rectangle の MouseArea を使用しています。タップすると、Rectangle の色が赤に変わります:

import QtQuick 2.15

Rectangle {
    width: 100; height: 100
    color: "green"

    MouseArea {
        anchors.fill: parent
        onClicked: { parent.color = 'red' }
    }
}

多くのMouseAreaシグナルは、位置などのタッチイベントに関する追加情報を含むmouse パラメータを渡します。

ここでは、押された時間が長い場合に異なる色を生成する、前の例の拡張を示します:

Rectangle {
    width: 100; height: 100
    color: "green"

    MouseArea {
        anchors.fill: parent
        onClicked: {
            if (mouse.wasHeld)
                parent.color = 'blue';
            else
                parent.color = 'red';
        }
    }
}

MouseEventも参照してください

プロパティのドキュメント

mouseX : real

mouseY : real

これらのプロパティはタッチの座標を保持する。

これらのプロパティはタッチが押されている間のみ有効で、タッチが持続している限り、たとえタッチが領域外に移動しても有効であり続ける。

座標はMouseArea からの相対座標です。


pressAndHoldInterval : int

このプロパティは、pressAndHold が発信されるまでの経過時間をミリ秒単位でオーバーライドします。

デフォルトでは800msです。

pressAndHoldも参照のこと


pressed : bool [since Qt Quick Ultralite 1.1]

このプロパティは、現在タッチが行われているかどうかを保持する。

このプロパティはQt Quick Ultralite 1.1 で導入されました。


シグナルのドキュメント

[since Qt Quick Ultralite 1.1] canceled()

このシグナルは、タッチイベントの処理が別のアイテムに奪われ、タッチイベントが キャンセルされたときに発行される。

このシグナルは上級者向けです。入力を処理するMouseArea が複数ある場合や、Flickable の中にMouseArea がある場合に便利です。後者の場合、onPressed シグナルハンドラで何らかのロジックを実行してからドラッグを開始すると、FlickableMouseArea からタッチ処理を奪います。このような場合、MouseAreaFlickable にタッチ処理を奪われたときにロジックをリセットするには、released に加えてcanceled も処理する必要があります。

注: 対応するハンドラはonCanceled

このシグナルはQt Quick Ultralite 1.1で導入されました。


clicked(MouseEvent mouse)

このシグナルはクリックがあったときに発せられます。クリックとは、押した後に離すことで、どちらもMouseArea の内側で行われます(押した後にMouseArea の外側に移動し、再び内側に移動して離すこともクリックとみなされます)。

mouse パラメーターは、クリックを離したxとyの位置、クリックが保持されたかどうかなど、クリックに関する情報を提供する。

このシグナルを処理する際、mouse パラメータのaccepted プロパティを変更しても効果はありません。

注: 対応するハンドラはonClicked である。


positionChanged(MouseEvent mouse)

このシグナルは、タッチ位置が変化したときに発せられる。

mouse パラメータは、xとyの位置を含むタッチに関する情報を提供する。

このシグナルは押された場合のみ発せられます。

このシグナルを処理する際、mouse パラメータのaccepted プロパティを変更しても効果はありません。

注: 対応するハンドラはonPositionChanged です。


[since Qt Quick Ultralite 1.1] pressAndHold(MouseEvent mouse)

このシグナルは長押し(現在800ms)されたときに発せられる。mouse パラメーターは、押された位置のxとyを含む、押された位置に関する情報を提供する。

このシグナルを処理する際、mouse パラメータのaccepted プロパティを変更しても効果はありません。

注: 対応するハンドラはonPressAndHold

このシグナルはQt Quick Ultralite 1.1 で導入された。


[since Qt Quick Ultralite 1.1] pressed(MouseEvent mouse)

このシグナルは、プレスがあったときに発せられる。mouse パラメータは、xとyの位置を含む、押下に関する情報を提供する。

このシグナルを処理する場合、mouse パラメータのaccepted プロパティを使用して、このMouseArea が押されたイベントと、押された後離されるまでのすべてのタッチイベントを処理するかどうかを制御します。デフォルトは、イベントを受け入れ、このMouseAreaの下にある他のMouseAreaがイベントを処理することを許可しません。acceptedをfalseに設定すると、次にボタンが押されるまで、それ以降のイベントはこのMouseArea

注意: 対応するハンドラはonPressed です。

このシグナルはQt Quick Ultralite 1.1で導入されました。


[since Qt Quick Ultralite 1.1] released(MouseEvent mouse)

このシグナルはリリースがあったときに発せられる。mouse パラメータは、クリックがリリースされた x と y の位置、クリックが保持されたかどうかなど、クリックに関する情報を提供する。

このシグナルを処理する際、mouse パラメータのaccepted プロパティを変更しても効果はありません。

注: 対応するハンドラはonReleased です。

このシグナルはQt Quick Ultralite 1.1で導入されました。

canceledも参照してください


特定の Qt ライセンスの下で利用可能です。
詳細を確認してください。