이 페이지에서

PointerHandler QML Type (Uncreatable)

포인터 이벤트용 추상 핸들러. 더 보기...

참고: 이 타입은 생성할 수 없는 타입입니다. QML에서는 인스턴스화할 수 없습니다.

속성

신호

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

상세 설명

PointerHandler는 모든 종류의 포인팅 장치(터치, 마우스 또는 그래픽 태블릿)에서 발생하는 이벤트를 처리하는 기본 입력 핸들러 클래스입니다(QML 유형으로 등록되지 않음).

속성 설명

active : bool [read-only]

이 메서드는 해당 입력 핸들러가 하나 이상의 이벤트 포인트( eventPoints)를 성공적으로 독점적으로 확보하여, 해당 포인트들을 처리할 전적인 책임을 맡게 된 경우 ‘ true ’ 상태를 유지합니다. 즉, 해당 이벤트 포인트들의 움직임에 따라 속성을 최신 상태로 유지하고, 해당 이벤트 핸들러가 가진 인스턴스( 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.빈커서
  • Qt.SplitV 커서
  • Qt.SplitHCursor
  • Qt.손가락 가리키기 커서
  • Qt.금지 커서
  • Qt.이건뭐지커서
  • Qt.바쁜 커서
  • 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이 핸들러는 어떤 유형의 아이템이나 핸들러로부터도 그랩 권한을 가져오거나 부여하지 않습니다.
PointerHandler.CanTakeOverFromHandlersOfSameType이 핸들러는 같은 클래스의 다른 핸들러로부터 배타적 그랩을 가져올 수 있습니다.
PointerHandler.CanTakeOverFromHandlersOfDifferentType이 핸들러는 어떤 종류의 핸들러로부터든 배타적 그랩을 가져올 수 있습니다.
PointerHandler.CanTakeOverFromItems이 핸들러는 모든 유형의 아이템으로부터 배타적 그랩을 가져올 수 있습니다.
PointerHandler.CanTakeOverFromAnything이 핸들러는 어떤 유형의 아이템이나 핸들러로부터도 배타적 그랩을 가져올 수 있습니다.
PointerHandler.ApprovesTakeOverByHandlersOfSameType이 핸들러는 같은 클래스의 다른 핸들러가 그랩을 가져갈 수 있도록 권한을 부여합니다.
PointerHandler.ApprovesTakeOverByHandlersOfDifferentType이 핸들러는 모든 종류의 핸들러가 그랩을 가져갈 수 있도록 허용합니다.
PointerHandler.ApprovesTakeOverByItems이 핸들러는 모든 종류의 아이템이 그랩을 가져갈 수 있도록 허용합니다.
PointerHandler.ApprovesCancellation이 핸들러는 자신의 그랩이 null로 설정되는 것을 허용합니다.
PointerHandler.ApprovesTakeOverByAnything이 핸들러는 모든 유형의 아이템이나 핸들러가 그랩을 가져갈 수 있도록 허용합니다.

기본값은 ` PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType | PointerHandler.ApprovesTakeOverByAnything `이며, 이는 대부분의 인수 시나리오를 허용하되, 예를 들어 두 개의 `PinchHandler`가 동일한 터치 포인트를 놓고 경쟁하는 상황을 방지합니다.

margin : real

parent 항목의 경계 너머에 있는 여백으로, 이 범위 내에서 eventPoint 가 이 핸들러를 활성화할 수 있습니다. 예를 들어, target 가 parent 이기도 한 PinchHandler 의 경우, 이 값을 일반 사용자의 손가락 너비의 절반 이상으로 설정하는 것이 유용합니다. 이렇게 하면 parent 가 매우 작은 크기로 축소된 경우에도 핀치 제스처를 계속 사용할 수 있습니다. 또는, 화면 가장자리 근처에 TapHandler 기반 버튼이 배치된 경우, 이 버튼을 사용하여 피츠의 법칙(Fitts's Law)을 준수할 수 있습니다. 즉, 버튼이 시각적으로 화면 가장자리에서 몇 픽셀 떨어져 있더라도 화면 가장자리에서의 마우스 클릭에 반응하도록 할 수 있습니다.

기본값은 0입니다.

터치 감지 범위를 확장하기 위해 주변 여백 영역이 있는 직사각형

parent : Item

Item 는 핸들러의 적용 범위를 나타내며, 이 핸들러가 선언된 Item입니다. 핸들러는 이 Item을 대신하여 이벤트를 처리하며, 이는 포인터 이벤트의 eventPoints 중 적어도 하나가 Item의 내부에서 발생하는 경우 해당 이벤트가 관련이 있음을 의미합니다. 초기에는 target() 가 동일하지만, 재할당될 수 있습니다.

target 및 QObject::parent()도 참조하십시오 .

target : Item

이 핸들러가 조작할 항목입니다.

기본적으로 이는 핸들러가 선언된 항목( parent)과 동일합니다. 그러나 한 항목 내에서 이벤트를 처리하되 다른 항목을 조작하기 위해, 또는 기본 동작을 비활성화하고 대신 다른 작업을 수행하기 위해( null) 대상 항목을 다른 항목으로 설정하는 것이 유용한 경우가 있습니다.

Signal 문서

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.