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 |
- Lista de todos los miembros, incluyendo los heredados
- Miembros obsoletos
- QPointingDevice es parte de Clases de Eventos.
Tipos Públicos
| enum | GrabTransition { GrabExclusive, UngrabExclusive, CancelGrabExclusive, GrabPassive, UngrabPassive, …, OverrideGrabPassive } |
| enum class | PointerType { Unknown, Generic, Finger, Pen, Eraser, …, AllPointerTypes } |
| flags | PointerTypes |
Propiedades
- buttonCount : const int
- maximumPoints : const int
- pointerType : const PointerType
- uniqueId : const QPointingDeviceUniqueId
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:
| Constante | Valor | Descripción |
|---|---|---|
QPointingDevice::GrabExclusive | 0x10 | Se emite después de QPointerEvent::setExclusiveGrabber(). |
QPointingDevice::UngrabExclusive | 0x20 | Se emite después de QPointerEvent::setExclusiveGrabber() cuando el grabber se establece en nullptr, para notificar que la captura ha terminado normalmente. |
QPointingDevice::CancelGrabExclusive | 0x30 | Emitida después de QPointerEvent::setExclusiveGrabber() cuando el grabber se establece en un objeto diferente, para notificar que el grabber anterior ha sido "robado". |
QPointingDevice::GrabPassive | 0x01 | Se emite después de QPointerEvent::addPassiveGrabber(). |
QPointingDevice::UngrabPassive | 0x02 | Se emite cuando una captura pasiva finaliza normalmente, por ejemplo después de QPointerEvent::removePassiveGrabber(). |
QPointingDevice::CancelGrabPassive | 0x03 | Se emite cuando un agarre pasivo finaliza de forma anormal (se cancela un gesto). |
QPointingDevice::OverrideGrabPassive | 0x04 | Este 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:
| Constante | Valor | Descripción |
|---|---|---|
QPointingDevice::PointerType::Unknown | 0 | El tipo de puntero es desconocido. |
QPointingDevice::PointerType::Generic | 0x0001 | Un ratón o algo que actúa como un ratón (el puntero central en X11). |
QPointingDevice::PointerType::Finger | 0x0002 | El dedo del usuario. |
QPointingDevice::PointerType::Pen | 0x0004 | El extremo de dibujo de un lápiz óptico. |
QPointingDevice::PointerType::Eraser | 0x0008 | El otro extremo del lápiz (si tiene un borrador virtual en el otro extremo). |
QPointingDevice::PointerType::Cursor | 0x0010 | Un círculo transparente con una cruz como la que se encuentra en un dispositivo Puck. |
QPointingDevice::PointerType::AllPointerTypes | 0x7FFF | Cualquiera 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.