このページでは

PointerHandler QML Type (Uncreatable)

ポインタイベント用の抽象ハンドラ。詳細...

注:これは生成不可能な型です。QML ではインスタンス化できません。

プロパティ

信号

  • canceled(eventPoint point)
  • grabChanged(PointerDevice::GrabTransition transition, eventPoint point)

詳細な説明

PointerHandler は、あらゆる種類のポインティングデバイス(タッチ、マウス、グラフィックスタブレット)からのイベントを処理するための入力ハンドラの基底クラスです(QML タイプとしては登録されていません)。

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

active : bool [read-only]

この変数には、この入力ハンドラが1つ以上のeventPoints を、それらのポイントの排他的なグラブに成功することで、単独で処理する責任を負っている間は、true が格納されます。これは、この入力ハンドラが、それらのeventPointsの動きに応じて自身のプロパティを最新の状態に保ち、target (存在する場合)を能動的に操作していることを意味します。

cursorShape : Qt::CursorShape

このプロパティは、active がtrue に設定されている間、parent アイテムにマウスをホバーさせた際に表示されるカーソルの形状を保持します。

利用可能なカーソル形状は以下の通りです:

  • Qt.ArrowCursor
  • Qt.UpArrowCursor
  • Qt.CrossCursor
  • Qt.WaitCursor
  • Qt.IBeamCursor
  • Qt.SizeVerCursor
  • Qt.SizeHorCursor
  • Qt.SizeBDiagCursor
  • Qt.SizeFDiagCursor
  • Qt.SizeAllCursor
  • Qt.BlankCursor
  • Qt.SplitVカーソル
  • Qt.SplitHCursor
  • Qt.指差しカーソル
  • Qt.ForbiddenCursor
  • Qt.WhatIsThisカーソル
  • Qt.BusyCursor
  • Qt.開いた手のカーソル
  • Qt.閉じた手のカーソル
  • Qt.ドラッグコピーカーソル
  • Qt.DragMoveCursor
  • Qt.DragLinkCursor

デフォルト値は設定されておらず、これによりparent 項目のcursor が表示されます。このプロパティは、undefinedに設定することで、初期状態と同じ状態に戻すことができます。

注: このプロパティが設定されていない場合 、または `undefined` に設定されている場合、その値を読み取ると `Qt.ArrowCursor` が返されます。

関連項目: Qt::CursorShape 、QQuickItem::cursor()、およびHoverHandler::cursorShape 。

dragThreshold : int

eventPoint をドラッグジェスチャーとして認識させるために、ユーザーがドラッグしなければならないピクセル単位の距離。

デフォルト値はプラットフォームや画面解像度によって異なります。これを「undefined」に設定することで、デフォルト値に戻すことができます。ドラッグジェスチャが開始された際の動作は、ハンドラによって異なります。

enabled : bool

PointerHandler が無効になっている場合、すべてのイベントが拒否され、シグナルは一切発信されません。

PointerHandler のparent がdisabled に設定されている場合、enabled プロパティがtrue のままであっても、ハンドラは事実上無効化されます。

注: HoverHandler の動作は異なります。詳細については、そのenabled プロパティのドキュメントを参照してください。

grabPermissions : flags

このプロパティは、このハンドラのロジックが排他的なグラブを引き継ぐことを決定した場合、または別のハンドラからグラブの引き継ぎや取り消しの承認を求められた場合の権限を指定します。

定数説明
PointerHandler.TakeOverForbiddenこのハンドラは、いかなるタイプの Item や Handler に対しても、グラブ権限を取得したり付与したりすることはありません。
PointerHandler.CanTakeOverFromHandlersOfSameType定数説明このハンドラは、いかなる種類のアイテムやハンドラからもグラブ権限を取得したり、付与したりすることはありません。
PointerHandler.CanTakeOverFromHandlersOfDifferentTypeこのハンドラは、あらゆる種類のハンドラから排他グラブを引き継ぐことができます。
PointerHandler.CanTakeOverFromItemsこのハンドラは、あらゆるタイプのアイテムから排他的なグラブを取得できます。
PointerHandler.CanTakeOverFromAnythingこのハンドラは、あらゆる種類のアイテムまたはハンドラから排他的なグラブを取得できます。
PointerHandler.ApprovesTakeOverByHandlersOfSameTypeこのハンドラは、同じクラスの別のハンドラに対して、グラブを取得する許可を与えます。
PointerHandler.ApprovesTakeOverByHandlersOfDifferentTypeこのハンドラは、あらゆる種類のハンドラがグラブを取得することを許可します。
PointerHandler.ApprovesTakeOverByItemsこのハンドラは、あらゆる種類のアイテムがグラブを取得することを許可します。
PointerHandler.ApprovesCancellationこのハンドラは、そのグラブが null に設定されることを許可します。
PointerHandler.ApprovesTakeOverByAnythingこのハンドラは、あらゆるタイプの Item または Handler がグラブを取得することを許可します。

デフォルトは `PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything ` であり、ほとんどの引き継ぎシナリオを許可しますが、たとえば 2 つの `PinchHandler` が同じタッチポイントを奪い合うような事態は回避します。

margin : real

parent 項目の境界線の外側にある余白で、eventPoint がこのハンドラを起動できる範囲です。たとえば、PinchHandler でtarget がparent を兼ねている場合、この値を一般的なユーザーの指の幅の少なくとも半分以上の距離に設定しておくと便利です。そうすることで、parent が非常に小さなサイズに縮小されていても、ピンチジェスチャが実行可能になります。 あるいは、TapHandler ベースのボタンを画面の端近くに配置する場合、これを用いてフィッツの法則に準拠させることができます。つまり、ボタンが視覚的には画面の端から数ピクセル離れているにもかかわらず、画面の端でのマウスクリックに反応するようにするのです。

デフォルト値は 0 です。

タッチ検出範囲を拡大するための余白領域を周囲に設けた長方形

parent : Item

Item は、ハンドラの適用範囲であり、それが宣言されたItemです。ハンドラはこのItemに代わってイベントを処理します。つまり、ポインタイベントは、そのeventPoints のうち少なくとも1つがItemの内部で発生した場合に、関連するものとみなされます。初期状態ではtarget() は同一ですが、再割り当てが可能です。

target およびQObject::parent()も参照してください 。

target : Item

このハンドラーが操作するアイテム。

デフォルトでは、これはparent 、つまりハンドラが宣言されているItemと同じです。ただし、あるアイテム内のイベントを処理しつつ別のアイテムを操作する場合や、null としてデフォルトの動作を無効にし、代わりに別の処理を行う場合など、ターゲットを別のItemに設定すると便利な場合があります。

シグナルのドキュメント

canceled(eventPoint point)

このハンドラーがすでに指定されたpoint を取得している場合、別のポインタハンドラーまたはアイテムによってその取得が奪われたときに、このシグナルが発信されます。

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

grabChanged(PointerDevice::GrabTransition transition, eventPoint point)

このシグナルは、グラブにこのハンドラに関連する何らかの変化が生じた際に発せられます。

transition (動詞)は、何が起きたかを示します。point (目的語)は、選択または選択解除されたポイントです。

transition の有効な値は以下の通りです:

定数説明
PointerDevice.GrabExclusiveこのハンドラは、point の処理について主たる責任を引き受けました。
PointerDevice.UngrabExclusiveこのハンドラは、以前の排他的なグラブを解除しました。
PointerDevice.CancelGrabExclusiveこのハンドラの排他的なグラブが引き継がれたか、またはキャンセルされました。
PointerDevice.GrabPassiveこのハンドラは、point を監視するために、パッシブ・グラブを取得しました。
PointerDevice.UngrabPassiveこのハンドラは、以前のパッシブ・グラブを解放しました。
PointerDevice.CancelGrabPassiveこのハンドラの以前のパッシブグラブが異常終了しました。

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

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.