En esta página

QPointingDevice Class

La clase QPointingDevice describe un dispositivo desde el que se originan los eventos de ratón, toque o tableta. Más...

Cabecera: #include <QPointingDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Desde: Qt 6.0
Hereda: QInputDevice

Tipos Públicos

enum GrabTransition { GrabExclusive, UngrabExclusive, CancelGrabExclusive, GrabPassive, UngrabPassive, …, OverrideGrabPassive }
enum class PointerType { Unknown, Generic, Finger, Pen, Eraser, …, AllPointerTypes }
flags PointerTypes

Propiedades

Funciones públicas

QPointingDevice(QObject *parent = nullptr)
QPointingDevice(const QString &name, qint64 id, QInputDevice::DeviceType deviceType, QPointingDevice::PointerType pointerType, QInputDevice::Capabilities capabilities, int maxPoints, int buttonCount, const QString &seatName = QString(), QPointingDeviceUniqueId uniqueId = QPointingDeviceUniqueId(), QObject *parent = nullptr)
int buttonCount() const
int maximumPoints() const
QPointingDevice::PointerType pointerType() const
QPointingDeviceUniqueId uniqueId() const

Señales

void grabChanged(QObject *grabber, QPointingDevice::GrabTransition transition, const QPointerEvent *event, const QEventPoint &point) const

Miembros públicos estáticos

const QPointingDevice *primaryPointingDevice(const QString &seatName = QString())

Descripción detallada

Cada QPointerEvent contiene un puntero QPointingDevice para permitir el acceso a propiedades específicas del dispositivo como el tipo y las capacidades. Es responsabilidad de la plataforma o de los plug-ins genéricos registrar los dispositivos señaladores disponibles a través de QWindowSystemInterface antes de generar cualquier evento de puntero. Las aplicaciones no necesitan instanciar esta clase, sólo deben acceder a las instancias globales apuntadas por QPointerEvent::device().

Documentación de tipos de miembros

enum QPointingDevice::GrabTransition

Este enum representa una transición de toma exclusiva o pasiva de un objeto (posiblemente nullptr) a otro (posiblemente nullptr). Se emite como argumento de la señal QPointingDevice::grabChanged().

Los valores válidos son:

ConstanteValorDescripción
QPointingDevice::GrabExclusive0x10Se emite después de QPointerEvent::setExclusiveGrabber().
QPointingDevice::UngrabExclusive0x20Se emite después de QPointerEvent::setExclusiveGrabber() cuando el grabber se establece en nullptr, para notificar que la captura ha terminado normalmente.
QPointingDevice::CancelGrabExclusive0x30Emitida después de QPointerEvent::setExclusiveGrabber() cuando el grabber se establece en un objeto diferente, para notificar que el grabber anterior ha sido "robado".
QPointingDevice::GrabPassive0x01Se emite después de QPointerEvent::addPassiveGrabber().
QPointingDevice::UngrabPassive0x02Se emite cuando una captura pasiva finaliza normalmente, por ejemplo después de QPointerEvent::removePassiveGrabber().
QPointingDevice::CancelGrabPassive0x03Se emite cuando un agarre pasivo finaliza de forma anormal (se cancela un gesto).
QPointingDevice::OverrideGrabPassive0x04Este valor no se utiliza actualmente.

enum class QPointingDevice::PointerType
flags QPointingDevice::PointerTypes

Esta enum representa lo que está interactuando con el dispositivo señalador.

Hay cierta redundancia entre esta propiedad y QInputDevice::DeviceType. Por ejemplo, si se usa una pantalla táctil, entonces DeviceType es TouchScreen y PointerType es Finger (siempre). Pero en una tableta gráfica, a menudo es posible que se utilicen ambos extremos del lápiz óptico, y los programas necesitan distinguirlos. Por lo tanto, el concepto se extiende para que cada QPointerEvent tenga un PointerType, y puede simplificar algunos códigos de manejo de eventos ignorar el DeviceType y reaccionar de forma diferente dependiendo sólo del PointerType.

Los valores válidos son:

ConstanteValorDescripción
QPointingDevice::PointerType::Unknown0El tipo de puntero es desconocido.
QPointingDevice::PointerType::Generic0x0001Un ratón o algo que actúa como un ratón (el puntero central en X11).
QPointingDevice::PointerType::Finger0x0002El dedo del usuario.
QPointingDevice::PointerType::Pen0x0004El extremo de dibujo de un lápiz óptico.
QPointingDevice::PointerType::Eraser0x0008El otro extremo del lápiz (si tiene un borrador virtual en el otro extremo).
QPointingDevice::PointerType::Cursor0x0010Un círculo transparente con una cruz como la que se encuentra en un dispositivo Puck.
QPointingDevice::PointerType::AllPointerTypes0x7FFFCualquiera de los anteriores (utilizado como valor de filtro por defecto).

El tipo PointerTypes es un typedef para QFlags<PointerType>. Almacena una combinación OR de valores PointerType.

Documentación de propiedades

[read-only] buttonCount : const int

Esta propiedad contiene el número máximo de botones en el dispositivo que se pueden detectar

Funciones de acceso:

int buttonCount() const

[read-only] maximumPoints : const int

Esta propiedad mantiene el número máximo de puntos táctiles simultáneos (dedos) que se pueden detectar

Funciones de acceso:

int maximumPoints() const

[read-only] pointerType : const PointerType

Esta propiedad contiene el tipo de puntero

Funciones de acceso:

QPointingDevice::PointerType pointerType() const

[read-only] uniqueId : const QPointingDeviceUniqueId

Esta propiedad contiene un ID único (de dudosa utilidad) para el dispositivo

Probablemente deberías preocuparte más por QPointerEventPoint::uniqueId().

Funciones de acceso:

QPointingDeviceUniqueId uniqueId() const

Documentación de funciones miembro

QPointingDevice::QPointingDevice(QObject *parent = nullptr)

Crea una nueva instancia de dispositivo señalador no válido como hijo de parent.

QPointingDevice::QPointingDevice(const QString &name, qint64 id, QInputDevice::DeviceType deviceType, QPointingDevice::PointerType pointerType, QInputDevice::Capabilities capabilities, int maxPoints, int buttonCount, const QString &seatName = QString(), QPointingDeviceUniqueId uniqueId = QPointingDeviceUniqueId(), QObject *parent = nullptr)

Crea una nueva instancia de dispositivo señalador con los datos name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId y parent.

int QPointingDevice::buttonCount() const

Devuelve el número máximo de botones del dispositivo que se pueden detectar.

Nota: Función Getter para la propiedad buttonCount.

[signal] void QPointingDevice::grabChanged(QObject *grabber, QPointingDevice::GrabTransition transition, const QPointerEvent *event, const QEventPoint &point) const

Esta señal se emite cuando el objeto grabber gana o pierde un agarre exclusivo o pasivo de point durante la entrega de event. transition informa de lo sucedido, desde la perspectiva del objeto grabber.

Nota: Una transición de agarre de un objeto a otro da lugar a dos señales, para notificar que un objeto ha perdido su agarre, y para notificar que hay otro agarrador. En otros casos, cuando se produce una transición hacia o desde un estado de no agarre, sólo se emite una señal: el argumento grabber nunca es nullptr.

Véase también QPointerEvent::setExclusiveGrabber(), QPointerEvent::addPassiveGrabber() y QPointerEvent::removePassiveGrabber().

int QPointingDevice::maximumPoints() const

Devuelve el número máximo de puntos táctiles simultáneos (dedos) que se pueden detectar.

Nota: Función Getter para la propiedad maximumPoints.

QPointingDevice::PointerType QPointingDevice::pointerType() const

Devuelve el tipo de puntero.

Nota: Función Getter para la propiedad pointerType.

[static] const QPointingDevice *QPointingDevice::primaryPointingDevice(const QString &seatName = QString())

Devuelve el dispositivo señalador primario (el puntero central, que tradicionalmente se asume que es un ratón) en el asiento dado seatName.

Si se registran varios dispositivos señaladores, esta función prefiere un ratón o touchpad que coincida con el seatName dado y que no tenga otro dispositivo como padre. Normalmente, sólo un dispositivo principal o central no tiene un dispositivo padre. Pero si no se encuentra tal dispositivo, esta función crea un nuevo ratón virtual "puntero del núcleo". De este modo, Qt sigue funcionando en plataformas que aún no realizan el descubrimiento y registro de dispositivos de entrada.

QPointingDeviceUniqueId QPointingDevice::uniqueId() const

Devuelve un ID único (de dudosa utilidad) para el dispositivo.

Probablemente deberías preocuparte más por QPointerEventPoint::uniqueId().

Nota: Función Getter para la propiedad uniqueId.

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