C
MouseArea QML Type
シンプルなタッチ操作を可能にする。もっと見る...
| Import Statement: | import QtQuick |
| Since: | Qt Quick Ultralite 1.0 |
| Inherits: |
プロパティ
- mouseX : real
- mouseY : real
- pressAndHoldInterval : int
- pressed : bool
(since Qt Quick Ultralite 1.1)
信号
- canceled()
(since Qt Quick Ultralite 1.1) - clicked(MouseEvent mouse)
- positionChanged(MouseEvent mouse)
- pressAndHold(MouseEvent mouse)
(since Qt Quick Ultralite 1.1) - pressed(MouseEvent mouse)
(since Qt Quick Ultralite 1.1) - released(MouseEvent mouse)
(since Qt Quick Ultralite 1.1)
詳細説明
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も参照してください 。
プロパティのドキュメント
これらのプロパティはタッチの座標を保持する。
これらのプロパティはタッチが押されている間のみ有効で、タッチが持続している限り、たとえタッチが領域外に移動しても有効であり続ける。
座標はMouseArea からの相対座標です。
pressAndHoldInterval : int |
pressed : bool |
このプロパティは、現在タッチが行われているかどうかを保持する。
このプロパティはQt Quick Ultralite 1.1 で導入されました。
シグナルのドキュメント
|
このシグナルは、タッチイベントの処理が別のアイテムに奪われ、タッチイベントが キャンセルされたときに発行される。
このシグナルは上級者向けです。入力を処理するMouseArea が複数ある場合や、Flickable の中にMouseArea がある場合に便利です。後者の場合、onPressed シグナルハンドラで何らかのロジックを実行してからドラッグを開始すると、Flickable がMouseArea からタッチ処理を奪います。このような場合、MouseArea がFlickable にタッチ処理を奪われたときにロジックをリセットするには、released に加えてcanceled も処理する必要があります。
注: 対応するハンドラはonCanceled 。
このシグナルはQt Quick Ultralite 1.1で導入されました。
clicked(MouseEvent mouse) |
positionChanged(MouseEvent mouse) |
|
|
このシグナルは、プレスがあったときに発せられる。mouse パラメータは、xとyの位置を含む、押下に関する情報を提供する。
このシグナルを処理する場合、mouse パラメータのaccepted プロパティを使用して、このMouseArea が押されたイベントと、押された後離されるまでのすべてのタッチイベントを処理するかどうかを制御します。デフォルトは、イベントを受け入れ、このMouseAreaの下にある他のMouseAreaがイベントを処理することを許可しません。acceptedをfalseに設定すると、次にボタンが押されるまで、それ以降のイベントはこのMouseArea 。
注意: 対応するハンドラはonPressed です。
このシグナルはQt Quick Ultralite 1.1で導入されました。
|
特定の Qt ライセンスの下で利用可能です。
詳細を確認してください。