Auf dieser Seite

QPointingDevice Class

Die Klasse „QPointingDevice“ beschreibt ein Gerät, von dem Maus-, Touch- oder Tablet-Ereignisse ausgehen. Mehr...

Header: #include <QPointingDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Seit: Qt 6.0
Erbt von: QInputDevice

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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

Signale

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

Statische öffentliche Mitglieder

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

Geschützte Funktionen

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

Detaillierte Beschreibung

Jedes ` QPointerEvent ` enthält einen `QPointingDevice`-Zeiger, um den Zugriff auf gerätespezifische Eigenschaften wie Typ und Funktionen zu ermöglichen. Es liegt in der Verantwortung der Plattform oder generischer Plug-ins, die verfügbaren Zeigegeräte über `QWindowSystemInterface` zu registrieren, bevor Zeigerereignisse generiert werden. Anwendungen müssen diese Klasse nicht instanziieren, sondern sollten lediglich auf die globalen Instanzen zugreifen, auf die ` QPointerEvent::device()` verweist.

Dokumentation zu den Mitgliedstypen

enum QPointingDevice::GrabTransition

Diese Enumeration stellt einen Übergang von exklusivem oder passivem Zugriff von einem Objekt (möglicherweise nullptr) auf ein anderes (möglicherweise nullptr) dar. Sie wird als Argument des Signals „ QPointingDevice::grabChanged()“ ausgegeben.

Gültige Werte sind:

KonstanteWertBeschreibung
QPointingDevice::GrabExclusive0x10Wird nach „ QPointerEvent::setExclusiveGrabber()“ ausgegeben.
QPointingDevice::UngrabExclusive0x20Wird nach „ QPointerEvent::setExclusiveGrabber()“ ausgegeben, wenn der Grabber auf „ nullptr “ gesetzt ist, um mitzuteilen, dass der Grab-Vorgang normal beendet wurde.
QPointingDevice::CancelGrabExclusive0x30Wird nach ` QPointerEvent::setExclusiveGrabber()` ausgegeben, wenn der Grabber auf ein anderes Objekt gesetzt wird, um zu melden, dass der Grab des alten Grabbers „gestohlen“ wurde.
QPointingDevice::GrabPassive0x01Wird nach ` QPointerEvent::addPassiveGrabber()` ausgelöst.
QPointingDevice::UngrabPassive0x02Wird ausgelöst, wenn ein passiver Grab normal beendet wird, beispielsweise nach „ QPointerEvent::removePassiveGrabber()“.
QPointingDevice::CancelGrabPassive0x03Wird ausgelöst, wenn ein passiver Griff abnorm beendet wird (eine Geste wird abgebrochen).
QPointingDevice::OverrideGrabPassive0x04Dieser Wert wird derzeit nicht verwendet.

enum class QPointingDevice::PointerType
flags QPointingDevice::PointerTypes

Diese Enumeration gibt an, was mit dem Zeigegerät interagiert.

Es besteht eine gewisse Redundanz zwischen dieser Eigenschaft und „ QInputDevice::DeviceType “. Wird beispielsweise ein Touchscreen verwendet, ist „ DeviceType “ immer „ TouchScreen “ und „ PointerType “ immer „ Finger “. Bei einem Grafiktablett ist es jedoch oft möglich, beide Enden des Stifts zu verwenden, und Programme müssen zwischen ihnen unterscheiden. Daher wird das Konzept dahingehend erweitert, dass jedes „ QPointerEvent “ über einen „PointerType“ verfügt, was die Ereignisbehandlung vereinfachen kann, indem der „DeviceType“ ignoriert wird und je nach „PointerType“ unterschiedlich reagiert wird.

Gültige Werte sind:

KonstanteWertBeschreibung
QPointingDevice::PointerType::Unknown0Der Zeigertyp ist unbekannt.
QPointingDevice::PointerType::Generic0x0001Eine Maus oder etwas, das sich wie eine Maus verhält (der Kernzeiger unter X11).
QPointingDevice::PointerType::Finger0x0002Der Finger des Benutzers.
QPointingDevice::PointerType::Pen0x0004Die Zeichenspitze eines Stifts.
QPointingDevice::PointerType::Eraser0x0008Das andere Ende des Stifts (sofern dieser am anderen Ende einen virtuellen Radierer besitzt).
QPointingDevice::PointerType::Cursor0x0010Ein transparenter Kreis mit Fadenkreuz, wie er bei einem „ Puck “-Gerät zu finden ist.
QPointingDevice::PointerType::Palm (since Qt 6.12)0x0020Die Handfläche des Benutzers.
QPointingDevice::PointerType::AllPointerTypes0x7FFFBeliebiges der oben genannten Elemente (wird als Standardfilterwert verwendet).

Der Typ `PointerTypes` ist ein `typedef` für ` QFlags<PointerType>`. Er speichert eine ODER-Kombination von `PointerType`-Werten.

Dokumentation zur Eigenschaft

[read-only] buttonCount : const int

Diese Eigenschaft gibt die maximale Anzahl der auf dem Gerät vorhandenen Tasten an, die erkannt werden können

Zugriffsfunktionen:

int buttonCount() const

[read-only] maximumPoints : const int

Diese Eigenschaft gibt die maximale Anzahl gleichzeitiger Berührungspunkte (Finger) an, die erkannt werden können

Zugriffsfunktionen:

int maximumPoints() const

[read-only] pointerType : const PointerType

Diese Eigenschaft enthält den Zeigertyp

Zugriffsfunktionen:

QPointingDevice::PointerType pointerType() const

[read-only] uniqueId : const QPointingDeviceUniqueId

Diese Eigenschaft enthält eine eindeutige ID (von zweifelhaftem Nutzen) für das Gerät

Sie sollten sich wahrscheinlich eher mit `QPointerEventPoint::uniqueId()` befassen.

Zugriffsfunktionen:

QPointingDeviceUniqueId uniqueId() const

Dokumentation zu den Mitgliedsfunktionen

QPointingDevice::QPointingDevice(QObject *parent = nullptr)

Erstellt eine neue Instanz eines ungültigen Zeigegeräts als untergeordnetes Element von „ 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)

Erstellt eine neue Instanz eines Zeigegeräts mit den angegebenen Werten für „ name “, „ deviceType “, „ pointerType “, „ capabilities “, „ maxPoints “, „ buttonCount “, „ seatName “, „ uniqueId “ und „ parent “.

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

Erstellt eine Instanz von „ QPointingDevice “ durch Kopieren. Diese Funktion wurde gelöscht.

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

Erstellt eine Instanz von ` QPointingDevice`. Diese Funktion wurde gelöscht.

int QPointingDevice::buttonCount() const

Gibt die maximale Anzahl der Tasten auf dem Gerät zurück, die erkannt werden können.

Hinweis: Getter -Funktion für die Eigenschaft „buttonCount“.

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

Dieses Signal wird ausgelöst, wenn das Objekt „ grabber “ während der Übertragung von „ event “ eine exklusive oder passive Bindung an „ point “ erhält oder verliert. Die „ transition “ gibt aus der Perspektive des Objekts „ grabber “ Auskunft darüber, was geschehen ist.

Hinweis: Ein Grab-Übergang von einem Objekt zu einem anderen führt zu zwei Signalen: eines, um zu melden, dass ein Objekt seinen Grab verloren hat, und eines, um zu melden, dass es einen anderen Grabber gibt. In anderen Fällen, beim Übergang in einen oder aus einem Nicht-Grab-Zustand, wird nur ein Signal ausgegeben: Das Argument ` grabber ` ist niemals ` nullptr`.

Siehe auch QPointerEvent::setExclusiveGrabber(), QPointerEvent::addPassiveGrabber() und QPointerEvent::removePassiveGrabber().

int QPointingDevice::maximumPoints() const

Gibt die maximale Anzahl der gleichzeitig erkennbaren Berührungspunkte (Finger) zurück.

Hinweis: Getter -Funktion für die Eigenschaft „maximumPoints“.

QPointingDevice::PointerType QPointingDevice::pointerType() const

Gibt den Zeigertyp zurück.

Hinweis: Getter -Funktion für die Eigenschaft `pointerType`.

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

Gibt das primäre Zeigegerät (den Kernzeiger, bei dem traditionell von einer Maus ausgegangen wird) auf dem angegebenen Sitz seatName zurück.

Sind mehrere Zeigegeräte registriert, bevorzugt diese Funktion eine Maus oder ein Touchpad, das dem angegebenen „ seatName “ entspricht und kein anderes Gerät als übergeordnetes Gerät hat. Normalerweise hat nur ein Master- oder Kern-Gerät kein übergeordnetes Gerät. Wird ein solches Gerät jedoch nicht gefunden, erstellt diese Funktion eine neue virtuelle „Core-Pointer“-Maus. Auf diese Weise funktioniert Qt auch auf Plattformen weiter, die noch keine Erkennung und Registrierung von Eingabegeräten unterstützen.

QPointingDeviceUniqueId QPointingDevice::uniqueId() const

Gibt eine eindeutige ID (von fragwürdigem Nutzen) für das Gerät zurück.

Sie sollten sich wahrscheinlich eher mit `QPointerEventPoint::uniqueId()` befassen.

Hinweis: Getter -Funktion für die Eigenschaft „uniqueId“.

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

Weist „ other “ dieser „ QPointingDevice “-Instanz zu. Diese Funktion wird gelöscht.

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

other Weist der Instanz „ QPointingDevice “ den Wert „ “ zu. Diese Funktion wird gelöscht.

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