QTouchDevice Class

The QTouchDevice class describes the device from which touch events originate. More...

Header: #include <QTouchDevice>
qmake: QT += gui
Since: Qt 5.0

This class was introduced in Qt 5.0.

Public Types

enum CapabilityFlag { Position, Area, Pressure, Velocity, RawPositions, …, MouseEmulation }
enum DeviceType { TouchScreen, TouchPad }

Detailed Description

Each QTouchEvent contains a QTouchDevice pointer to allow accessing device-specific properties like type and capabilities. It is the responsibility of the platform or generic plug-ins to register the available touch devices via QWindowSystemInterface before generating any touch events. Applications do not need to instantiate this class, they should just access the global instances pointed to by QTouchEvent::device().

Member Type Documentation

enum QTouchDevice::CapabilityFlag

This enum is used with QTouchDevice::capabilities() to indicate what kind of information the touch device or its driver can provide.

ConstantValueDescription
QTouchDevice::Position0x0001Indicates that position information is available, meaning that the pos() family of functions in the touch points return valid points.
QTouchDevice::Area0x0002Indicates that touch area information is available, meaning that the rect() family of functions in the touch points return valid rectangles.
QTouchDevice::Pressure0x0004Indicates that pressure information is available, meaning that pressure() returns a valid value.
QTouchDevice::Velocity0x0008Indicates that velocity information is available, meaning that velocity() returns a valid vector.
QTouchDevice::RawPositions0x0010Indicates that the list returned by QTouchEvent::TouchPoint::rawScreenPositions() may contain one or more positions for each touch point. This is relevant when the touch input gets filtered or corrected on driver level.
QTouchDevice::NormalizedPosition0x0020Indicates that the normalized position is available, meaning that normalizedPos() returns a valid value.
QTouchDevice::MouseEmulation0x0040Indicates that the device synthesizes mouse events. This enum value has been introduced in Qt 5.5.

enum QTouchDevice::DeviceType

This enum represents the type of device that generated a QTouchEvent.

ConstantValueDescription
QTouchDevice::TouchScreen0In this type of device, the touch surface and display are integrated. This means the surface and display typically have the same size, such that there is a direct relationship between the touch points' physical positions and the coordinate reported by QTouchEvent::TouchPoint. As a result, Qt allows the user to interact directly with multiple QWidgets and QGraphicsItems at the same time.
QTouchDevice::TouchPad1In this type of device, the touch surface is separate from the display. There is not a direct relationship between the physical touch location and the on-screen coordinates. Instead, they are calculated relative to the current mouse position, and the user must use the touch-pad to move this reference point. Unlike touch-screens, Qt allows users to only interact with a single QWidget or QGraphicsItem at a time.