QTabletEvent Class

QTabletEvent 클래스에는 태블릿 이벤트를 설명하는 매개 변수가 포함되어 있습니다. 더 보기...

Header: #include <QTabletEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
상속합니다: QSinglePointEvent

공용 함수

QTabletEvent(QEvent::Type type, const QPointingDevice *dev, const QPointF &pos, const QPointF &globalPos, qreal pressure, float xTilt, float yTilt, float tangentialPressure, qreal rotation, float z, Qt::KeyboardModifiers keyState, Qt::MouseButton button, Qt::MouseButtons buttons)
qreal pressure() const
qreal rotation() const
qreal tangentialPressure() const
qreal xTilt() const
qreal yTilt() const
qreal z() const

상세 설명

태블릿 이벤트는 와콤 태블릿 및 기타 다양한 브랜드의 태블릿 주변기기와 일부 유형의 태블릿 컴퓨터에 포함된 전자기 스타일러스 장치에서 생성됩니다. (터치스크린에서 패시브 스타일러스를 사용하는 경우에도 터치스크린에서 생성되는 QTouchEvent 과는 다릅니다.)

태블릿 이벤트는 마우스 이벤트와 유사합니다. 예를 들어 x(), y(), pos(), globalX(), globalY(), globalPos() 액세스자는 커서 위치를 제공하며, 어떤 buttons()이 눌렸는지 확인할 수 있습니다(스타일러스 끝을 태블릿 표면에 대고 누르는 것은 마우스 왼쪽 버튼과 동일). 그러나 태블릿 이벤트는 태블릿 디바이스 드라이버가 제공하는 몇 가지 추가 정보도 전달합니다; 예를 들어 고해상도 좌표로 서브픽셀 렌더링(globalPosF()), 태블릿 표면에 대한 도구의 pressure()에 따라 색상 밝기 조정, 사용 중인 도구 유형에 따라 다른 브러시 사용(deviceType()) 등을 수행할 수 있습니다, 태블릿 표면에 대한 도구의 X축 및 Y축 기울기에 따라 브러시 모양을 어떤 식으로든 조절하고(xTilt() 및 yTilt()), 사용자가 양면 스타일러스의 다른 쪽 끝으로 전환하는 경우 브러시 대신 가상 지우개를 사용합니다(pointerType()).

모든 이벤트에는 수신자가 이벤트를 원하는지 여부를 나타내는 수락 플래그가 포함되어 있습니다. 태블릿 이벤트를 처리하는 경우 QTabletEvent::accept()를 호출해야 하며, 그렇지 않으면 부모 위젯으로 전송됩니다. 예외적으로 TabletEnterProximity 및 TabletLeaveProximity 이벤트는 QApplication 로만 전송되며 수락 여부를 확인하지 않습니다.

QWidget::setEnabled() 함수는 위젯의 마우스, 태블릿 및 키보드 이벤트를 활성화 또는 비활성화하는 데 사용할 수 있습니다.

이벤트 핸들러 QWidget::tabletEvent()는 TabletPress, TabletRelease 및 TabletMove 이벤트를 수신합니다. Qt는 먼저 태블릿 이벤트를 전송한 다음 위젯에서 수락하지 않으면 마우스 이벤트를 전송합니다. 이를 통해 태블릿용으로 설계되지 않은 애플리케이션 사용자도 태블릿을 마우스처럼 사용할 수 있습니다. 그러나 고해상도 그리기 애플리케이션은 태블릿 이벤트를 처리해야 하는데, 이는 더 높은 빈도로 발생할 수 있으므로 부드럽고 정확한 그리기에 도움이 됩니다. 태블릿 이벤트가 거부되면 효율성을 위해 합성 마우스 이벤트가 압축될 수 있습니다.

스타일러스를 태블릿 위에 가져간 상태에서 스타일러스 버튼을 누르면 일부 유형의 태블릿에서는 버튼 누름이 발생하지만 다른 유형의 태블릿에서는 동시 스타일러스 버튼 누름을 등록하기 위해 스타일러스를 태블릿 표면에 대고 눌러야 합니다.

X11 사용자를 위한 참고 사항

태블릿이 xorg.conf에서 Wacom 드라이버를 사용하도록 구성된 경우 스타일러스, 지우개, (선택적으로) 커서 및 터치패드에 대한 별도의 XInput "장치"가 있습니다. Qt는 그 이름으로 이들을 인식합니다. 그렇지 않으면 태블릿이 evdev 드라이버를 사용하도록 구성된 경우 장치가 하나만 존재하며 애플리케이션이 스타일러스와 지우개를 구분하지 못할 수 있습니다.

Windows 사용자를 위한 참고 사항

현재 태블릿을 지원하려면 DLL wintab32.dll 을 제공하는 WACOM Windows 드라이버를 설치해야 합니다. 이 드라이버는 이전 패키지에 포함되어 있습니다(예: pentablet_5.3.5-3.exe).

멤버 기능 설명서

QTabletEvent::QTabletEvent(QEvent::Type type, const QPointingDevice *dev, const QPointF &pos, const QPointF &globalPos, qreal pressure, float xTilt, float yTilt, float tangentialPressure, qreal rotation, float z, Qt::KeyboardModifiers keyState, Qt::MouseButton button, Qt::MouseButtons buttons)

주어진 type 의 태블릿 이벤트를 생성합니다.

pos 매개변수는 위젯에서 이벤트가 발생한 위치를 나타냅니다. globalPos 은 절대 좌표의 해당 위치입니다.

pressure 는 기기에 가해지는 압력을 dev.

xTiltyTilt 는 각각 x축과 y축에서 기기가 기울어진 정도를 나타냅니다.

keyState 는 누르는 키보드 수정자를 지정합니다(예: Ctrl).

z 매개변수는 태블릿에서 디바이스의 Z 좌표(일반적으로 4D 마우스의 휠로 지정)를 지정합니다. 장치가 Z축을 지원하지 않는 경우(예: QPointingDevice::capabilities()에 ZPosition)가 포함되지 않은 경우 여기에 0 을 전달합니다.

tangentialPressure 매개변수는 에어브러시의 접선 압력 썸휠 값을 제공합니다. 장치가 접선 압력을 지원하지 않는 경우(예: QPointingDevice::capabilities()에 TangentialPressure)가 포함되지 않은 경우 여기에 0 을 전달합니다.

rotation 는 장치의 회전을 도 단위로 나타냅니다. 4D 마우스, Wacom 아트 펜 및 Apple 펜슬은 회전을 지원합니다. 장치가 회전을 지원하지 않는 경우(예: QPointingDevice::capabilities()에 Rotation)가 포함되지 않은 경우 여기에 0 을 전달합니다.

이벤트를 일으킨 buttonQt::MouseButton 열거형에서 값으로 제공됩니다. 이벤트 typeTabletPress 또는 TabletRelease 가 아닌 경우 이 이벤트에 적합한 버튼은 Qt::NoButton 입니다.

buttons 는 이벤트 발생 당시 모든 버튼의 상태입니다.

pos(), globalPos(), device(), pressure(), xTilt(), yTilt(), uniqueId(), rotation(), tangentialPressure(), z()도 참조하세요 .

qreal QTabletEvent::pressure() const

장치의 압력을 반환합니다. 0.0은 스타일러스가 태블릿에 있지 않음을 나타내고 1.0은 스타일러스의 최대 압력을 나타냅니다.

tangentialPressure()도 참조하세요 .

qreal QTabletEvent::rotation() const

현재 도구의 회전을 도 단위로 반환하며, 0은 스타일러스 끝이 태블릿 상단을 가리키고 있음을 의미하고 양수 값은 오른쪽으로, 음수 값은 왼쪽으로 회전했음을 의미합니다. 이 값은 4D 마우스 또는 회전이 가능한 스타일러스(예: Wacom 아트 펜 또는 Apple 펜슬)로 지정할 수 있습니다. 장치가 회전을 지원하지 않는 경우 이 값은 항상 0.0입니다.

qreal QTabletEvent::tangentialPressure() const

장치의 접선 압력을 반환합니다. 이 값은 일반적으로 에어브러시 도구의 손가락 휠을 통해 제공됩니다. 범위는 -1.0에서 1.0 사이입니다. 0.0은 중립 위치를 나타냅니다. 현재 에어브러시는 중립 위치에서 양의 방향으로만 움직일 수 있습니다. 장치가 접선 압력을 지원하지 않는 경우 이 값은 항상 0.0입니다.

참고: 이 값은 단정밀도 부동 소수점으로 저장됩니다.

pressure()도 참조하세요 .

qreal QTabletEvent::xTilt() const

장치(예: 펜)와 X축 방향의 수직 사이의 각도를 반환합니다. 양수 값은 태블릿의 물리적 오른쪽을 향합니다. 각도는 -60도에서 +60도 범위입니다.

참고: 이 값은 단정밀도 부동 소수점으로 저장됩니다.

yTilt()도 참조하세요 .

qreal QTabletEvent::yTilt() const

장치(예: 펜)와 Y축 방향의 수직 사이의 각도를 반환합니다. 양수 값은 태블릿 하단을 향합니다. 각도는 -60도에서 +60도 범위 내에 있습니다.

참고: 이 값은 단정밀도 부동 소수점으로 저장됩니다.

xTilt()도 참조하세요 .

qreal QTabletEvent::z() const

디바이스의 z 위치를 반환합니다. 일반적으로 4D 마우스의 휠로 표시됩니다. 장치가 Z축을 지원하지 않는 경우 이 값은 항상 0입니다. 이것은 압력과는 다릅니다.

참고: 이 값은 단정밀도 플로트로 저장됩니다.

pressure()도 참조하세요 .

© 2025 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.