Sur cette page

QPointingDevice Class

La classe QPointingDevice décrit un périphérique d'où proviennent les événements liés à la souris, au toucher ou à la tablette. Plus d'informations...

En-tête : #include <QPointingDevice>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Depuis : Qt 6.0
Hérites : QInputDevice

Types publics

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

Propriétés

Fonctions publiques

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

Signaux

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

Membres publics statiques

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

Description détaillée

Chaque site QPointerEvent contient un pointeur QPointingDevice permettant d'accéder aux propriétés spécifiques du dispositif, telles que le type et les capacités. Il incombe à la plate-forme ou aux plug-ins génériques d'enregistrer les dispositifs de pointage disponibles via QWindowSystemInterface avant de générer des événements de pointeur. Les applications n'ont pas besoin d'instancier cette classe, elles doivent simplement accéder aux instances globales pointées par QPointerEvent::device().

Documentation des types de membres

enum QPointingDevice::GrabTransition

Cette énumération représente une transition d'une prise exclusive ou passive d'un objet (éventuellement nullptr) à un autre (éventuellement nullptr). Elle est émise en tant qu'argument du signal QPointingDevice::grabChanged().

Les valeurs valides sont les suivantes

ConstanteValeurDescription
QPointingDevice::GrabExclusive0x10Emis après QPointerEvent::setExclusiveGrabber().
QPointingDevice::UngrabExclusive0x20Emise après QPointerEvent::setExclusiveGrabber() lorsque le grabber est défini sur nullptr, pour notifier que le grabber s'est terminé normalement.
QPointingDevice::CancelGrabExclusive0x30Emise après QPointerEvent::setExclusiveGrabber() lorsque le grabber est défini sur un objet différent, pour notifier que le grabber précédent est "volé".
QPointingDevice::GrabPassive0x01Emis après QPointerEvent::addPassiveGrabber().
QPointingDevice::UngrabPassive0x02Emis lorsqu'une saisie passive se termine normalement, par exemple après QPointerEvent::removePassiveGrabber().
QPointingDevice::CancelGrabPassive0x03Emis lorsqu'un grab passif se termine anormalement (un geste est annulé).
QPointingDevice::OverrideGrabPassive0x04Cette valeur n'est pas utilisée actuellement.

enum class QPointingDevice::PointerType
flags QPointingDevice::PointerTypes

Cette classe représente ce qui interagit avec le dispositif de pointage.

Il existe une certaine redondance entre cette propriété et QInputDevice::DeviceType. Par exemple, si un écran tactile est utilisé, DeviceType est TouchScreen et PointerType est Finger (toujours). Mais sur une tablette graphique, il est souvent possible d'utiliser les deux extrémités du stylet, et les programmes doivent les distinguer. Le concept est donc étendu de manière à ce que chaque QPointerEvent ait un PointerType, et cela peut simplifier certains codes de gestion d'événements en ignorant le DeviceType et en réagissant différemment en fonction du PointerType seul.

Les valeurs valides sont les suivantes

ConstanteValeurDescription du type de pointeur
QPointingDevice::PointerType::Unknown0Le type de pointeur est inconnu.
QPointingDevice::PointerType::Generic0x0001Une souris ou quelque chose qui agit comme une souris (le pointeur principal sur X11).
QPointingDevice::PointerType::Finger0x0002Le doigt de l'utilisateur.
QPointingDevice::PointerType::Pen0x0004L'extrémité d'un stylet qui dessine.
QPointingDevice::PointerType::Eraser0x0008L'autre extrémité du stylet (s'il possède une gomme virtuelle à l'autre extrémité).
QPointingDevice::PointerType::Cursor0x0010Un cercle transparent avec un réticule tel qu'on le trouve sur un appareil Puck.
QPointingDevice::PointerType::AllPointerTypes0x7FFFL'un des éléments ci-dessus (utilisé comme valeur de filtre par défaut).

Le type PointerTypes est un typedef pour QFlags<PointerType>. Il stocke une combinaison OR de valeurs PointerType.

Documentation sur les propriétés

[read-only] buttonCount : const int

Cette propriété indique le nombre maximum de boutons de l'appareil qui peuvent être détectés.

Fonctions d'accès :

int buttonCount() const

[read-only] maximumPoints : const int

Cette propriété indique le nombre maximum de points de contact simultanés (doigts) qui peuvent être détectés.

Fonctions d'accès :

int maximumPoints() const

[read-only] pointerType : const PointerType

Cette propriété contient le type de pointeur

Fonctions d'accès :

QPointingDevice::PointerType pointerType() const

[read-only] uniqueId : const QPointingDeviceUniqueId

Cette propriété contient un identifiant unique (d'une utilité douteuse) pour l'appareil

Vous devriez plutôt vous intéresser à QPointerEventPoint::uniqueId().

Fonctions d'accès :

QPointingDeviceUniqueId uniqueId() const

Documentation des fonctions membres

QPointingDevice::QPointingDevice(QObject *parent = nullptr)

Crée une nouvelle instance de dispositif de pointage non valide en tant qu'enfant 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)

Crée une nouvelle instance de dispositif de pointage avec les données name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId et parent.

int QPointingDevice::buttonCount() const

Renvoie le nombre maximum de boutons présents sur l'appareil qui peuvent être détectés.

Remarque : fonction Getter pour la propriété buttonCount.

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

Ce signal est émis lorsque l'objet grabber obtient ou perd une prise exclusive ou passive de point pendant la livraison de event. Le signal transition indique ce qui s'est passé, du point de vue de l'objet grabber.

Remarque : le passage d'un objet à un autre entraîne l'émission de deux signaux, l'un pour signaler qu'un objet a perdu sa prise et l'autre pour signaler qu'il y a un autre preneur. Dans d'autres cas, lors d'une transition vers ou depuis un état non grabbing, un seul signal est émis : l'argument grabber n'est jamais nullptr.

Voir également QPointerEvent::setExclusiveGrabber(), QPointerEvent::addPassiveGrabber() et QPointerEvent::removePassiveGrabber().

int QPointingDevice::maximumPoints() const

Renvoie le nombre maximal de points de contact simultanés (doigts) pouvant être détectés.

Remarque : fonction Getter pour la propriété maximumPoints.

QPointingDevice::PointerType QPointingDevice::pointerType() const

Renvoie le type de pointeur.

Note : Fonction Getter pour la propriété pointerType.

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

Renvoie le dispositif de pointage principal (le pointeur principal, traditionnellement supposé être une souris) sur le siège donné seatName.

Si plusieurs dispositifs de pointage sont enregistrés, cette fonction préfère une souris ou un pavé tactile qui correspond à l'adresse seatName et qui n'a pas d'autre dispositif comme parent. En général, un seul dispositif maître ou central n'a pas de dispositif parent. Mais si un tel périphérique n'est pas trouvé, cette fonction crée une nouvelle souris virtuelle "core pointer". Ainsi, Qt continue de fonctionner sur des plates-formes qui ne font pas encore la découverte et l'enregistrement des périphériques d'entrée.

QPointingDeviceUniqueId QPointingDevice::uniqueId() const

Renvoie un identifiant unique (d'une utilité douteuse) pour l'appareil.

Vous devriez plutôt vous intéresser à QPointerEventPoint::uniqueId().

Note : Fonction Getter pour la propriété 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.