Sur cette page

QPointingDevice Class

La classe `QPointingDevice` décrit un périphérique à l'origine d'événements de souris, tactiles ou de tablette. En savoir plus...

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érite de : 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())

Fonctions protégées

QPointingDevice(const QPointingDevice &)
QPointingDevice(QPointingDevice &&)
QPointingDevice &operator=(QPointingDevice &&)
QPointingDevice &operator=(const QPointingDevice &)

Description détaillée

Chaque instance de ` QPointerEvent ` contient un pointeur `QPointingDevice` permettant d’accéder aux propriétés spécifiques au périphérique, telles que le type et les capacités. Il incombe à la plate-forme ou aux plug-ins génériques d’enregistrer les périphériques 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 sur les types de membres

enum QPointingDevice::GrabTransition

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

Les valeurs valides sont :

ConstanteValeurDescription
QPointingDevice::GrabExclusive0x10Émis après QPointerEvent::setExclusiveGrabber().
QPointingDevice::UngrabExclusive0x20Émis après l'appel de ` QPointerEvent::setExclusiveGrabber()` lorsque le « grabber » est défini sur ` nullptr`, pour signaler que la capture s'est terminée normalement.
QPointingDevice::CancelGrabExclusive0x30Émis après l'appel de ` QPointerEvent::setExclusiveGrabber()` lorsque le grabber est défini sur un autre objet, pour signaler que le grab de l'ancien grabber a été « volé ».
QPointingDevice::GrabPassive0x01Émis après l'appel de QPointerEvent::addPassiveGrabber().
QPointingDevice::UngrabPassive0x02Émis lorsqu’une saisie passive se termine normalement, par exemple après l’appel de ` QPointerEvent::removePassiveGrabber()`.
QPointingDevice::CancelGrabPassive0x03Émis lorsqu’une saisie passive est interrompue de manière anormale (un geste est annulé).
QPointingDevice::OverrideGrabPassive0x04Cette valeur n’est actuellement pas utilisée.

enum class QPointingDevice::PointerType
flags QPointingDevice::PointerTypes

Cette énumération indique ce qui interagit avec le périphérique de pointage.

Il existe une certaine redondance entre cette propriété et QInputDevice::DeviceType. Par exemple, si l’on utilise un écran tactile, l’ DeviceType est TouchScreen et PointerType est Finger (dans tous les cas). 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 sorte que chaque ` QPointerEvent ` dispose d’un `PointerType`, ce qui permet de simplifier le code de gestion des événements en ignorant le `DeviceType` et en réagissant différemment en fonction du seul `PointerType`.

Les valeurs valides sont :

ConstanteValeurDescription
QPointingDevice::PointerType::Unknown0Le type de pointeur est inconnu.
QPointingDevice::PointerType::Generic0x0001Une souris ou un périphérique agissant comme une souris (le pointeur principal sous X11).
QPointingDevice::PointerType::Finger0x0002Le doigt de l'utilisateur.
QPointingDevice::PointerType::Pen0x0004La pointe d'un stylet.
QPointingDevice::PointerType::Eraser0x0008L'autre extrémité du stylet (s'il est doté d'une gomme virtuelle à cette extrémité).
QPointingDevice::PointerType::Cursor0x0010Un cercle transparent avec un réticule, comme sur un dispositif « Puck ».
QPointingDevice::PointerType::Palm (since Qt 6.12)0x0020La paume de la main de l'utilisateur.
QPointingDevice::PointerType::AllPointerTypes0x7FFFN'importe lequel 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 de la propriété

[read-only] buttonCount : const int

Cette propriété indique le nombre maximal de boutons physiques pouvant être détectés sur l'appareil

Fonctions d’accès :

int buttonCount() const

[read-only] maximumPoints : const int

Cette propriété indique le nombre maximal de points de contact simultanés (doigts) pouvant ê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é discutable) pour l'appareil

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

Fonctions d'accès :

QPointingDeviceUniqueId uniqueId() const

Documentation des fonctions membres

QPointingDevice::QPointingDevice(QObject *parent = nullptr)

Crée une nouvelle instance de périphérique 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 périphérique de pointage avec les paramètres suivants : name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId et parent.

[protected delete] QPointingDevice::QPointingDevice(const QPointingDevice &)

Copie et construit une instance de ` QPointingDevice`. Cette fonction est supprimée.

[protected delete] QPointingDevice::QPointingDevice(QPointingDevice &&)

Crée par « move » une instance de ` QPointingDevice`. Cette fonction est supprimée.

int QPointingDevice::buttonCount() const

Renvoie le nombre maximal de boutons présents sur l'appareil pouvant être détectés.

Remarque : fonctiongetter 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 » acquiert ou perd une saisie exclusive ou passive de « point » pendant la transmission de « event ». L'« transition » indique ce qui s'est passé, du point de vue de l'objet « grabber ».

Remarque : une transition de contrôle d’un objet à un autre génère deux signaux, l’un pour signaler qu’un objet a perdu son contrôle, et l’autre pour signaler qu’il existe un autre contrôleur. Dans les autres cas, lors d’une transition vers ou depuis un état sans contrôle, 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 : fonctiongetter pour la propriété maximumPoints.

QPointingDevice::PointerType QPointingDevice::pointerType() const

Renvoie le type du pointeur.

Remarque : fonctionde lecture pour la propriété pointerType.

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

Renvoie le périphérique de pointage principal (le pointeur principal, généralement considéré comme une souris) associé à l'seatName de siège indiquée.

Si plusieurs périphériques de pointage sont enregistrés, cette fonction privilégie une souris ou un pavé tactile correspondant à l’ seatName fournie et n’ayant pas d’autre périphérique comme parent. En général, un seul périphérique maître ou principal n’a pas de périphérique parent. Mais si un tel périphérique n’est pas trouvé, cette fonction crée une nouvelle souris virtuelle « pointeur principal ». Ainsi, Qt continue de fonctionner sur les plateformes qui ne prennent pas encore en charge la détection et l’enregistrement des périphériques d’entrée.

QPointingDeviceUniqueId QPointingDevice::uniqueId() const

Renvoie un identifiant unique (d'une utilité discutable) pour le périphérique.

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

Remarque : fonction de lecture (getter ) pour la propriété uniqueId.

[protected delete] QPointingDevice &QPointingDevice::operator=(QPointingDevice &&)

La commande « Move » affecte « other » à cette instance « QPointingDevice ». Cette fonction est supprimée.

[protected delete] QPointingDevice &QPointingDevice::operator=(const QPointingDevice &)

Copie et attribue « other » à cette instance « QPointingDevice ». Cette fonction est supprimée.

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