QPointingDevice Class
Die Klasse QPointingDevice beschreibt ein Gerät, von dem Maus-, Touch- oder Tablet-Ereignisse ausgehen. Mehr...
Kopfzeile: | #include <QPointingDevice> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Seit: | Qt 6.0 |
Vererbt: | QInputDevice |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QPointingDevice ist Teil von Event Classes.
Öffentliche Typen
enum | GrabTransition { GrabExclusive, UngrabExclusive, CancelGrabExclusive, GrabPassive, UngrabPassive, …, OverrideGrabPassive } |
enum class | PointerType { Unknown, Generic, Finger, Pen, Eraser, …, AllPointerTypes } |
flags | PointerTypes |
Ö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()) |
Detaillierte Beschreibung
Jedes QPointerEvent enthält einen QPointingDevice-Zeiger, um den Zugriff auf gerätespezifische Eigenschaften wie Typ und Fähigkeiten 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 erzeugt werden. Anwendungen brauchen diese Klasse nicht zu instanziieren, sie sollten lediglich auf die globalen Instanzen zugreifen, auf die QPointerEvent::device() verweist.
Dokumentation der Mitgliedstypen
enum QPointingDevice::GrabTransition
Diese Aufzählung steht für einen Übergang des exklusiven oder passiven Zugriffs von einem Objekt (möglicherweise nullptr
) zu einem anderen (möglicherweise nullptr
). Es wird als Argument des Signals QPointingDevice::grabChanged() ausgegeben.
Gültige Werte sind:
Konstante | Wert | Beschreibung |
---|---|---|
QPointingDevice::GrabExclusive | 0x10 | Wird nach QPointerEvent::setExclusiveGrabber() ausgegeben. |
QPointingDevice::UngrabExclusive | 0x20 | Wird nach QPointerEvent::setExclusiveGrabber() ausgegeben, wenn der Greifer auf nullptr gesetzt ist, um zu signalisieren, dass das Greifen normal beendet wurde. |
QPointingDevice::CancelGrabExclusive | 0x30 | Wird nach QPointerEvent::setExclusiveGrabber() gesendet, wenn der Greifer auf ein anderes Objekt gesetzt wird, um zu melden, dass der Greifer des alten Greifers "gestohlen" wurde. |
QPointingDevice::GrabPassive | 0x01 | Wird nach QPointerEvent::addPassiveGrabber() ausgegeben. |
QPointingDevice::UngrabPassive | 0x02 | Wird ausgesendet, wenn ein passiver Greifer normal beendet wird, z. B. nach QPointerEvent::removePassiveGrabber(). |
QPointingDevice::CancelGrabPassive | 0x03 | Wird ausgesendet, wenn ein passiver Greifer abnormal beendet wird (eine Geste wird abgebrochen). |
QPointingDevice::OverrideGrabPassive | 0x04 | Dieser Wert wird derzeit nicht verwendet. |
enum class QPointingDevice::PointerType
flags QPointingDevice::PointerTypes
Diese Aufzählung stellt dar, was mit dem Zeigegerät interagiert.
Es gibt eine gewisse Redundanz zwischen dieser Eigenschaft und QInputDevice::DeviceType. Wenn zum Beispiel ein Touchscreen verwendet wird, ist DeviceType
gleich TouchScreen
und PointerType
gleich Finger
(immer). Bei einem Grafiktablett ist es jedoch oft möglich, dass beide Enden des Stifts verwendet werden, und die Programme müssen sie unterscheiden. Daher wird das Konzept so erweitert, dass jedes QPointerEvent einen PointerType hat, und es kann den Code für die Ereignisbehandlung vereinfachen, den DeviceType zu ignorieren und nur auf den PointerType zu reagieren.
Gültige Werte sind:
Konstante | Wert | Beschreibung |
---|---|---|
QPointingDevice::PointerType::Unknown | 0 | Der Zeigertyp ist unbekannt. |
QPointingDevice::PointerType::Generic | 0x0001 | Eine Maus oder etwas, das sich wie eine Maus verhält (der Hauptzeiger bei X11). |
QPointingDevice::PointerType::Finger | 0x0002 | Der Finger des Benutzers. |
QPointingDevice::PointerType::Pen | 0x0004 | Das zeichnende Ende eines Stiftes. |
QPointingDevice::PointerType::Eraser | 0x0008 | Das andere Ende des Stifts (wenn er einen virtuellen Radiergummi am anderen Ende hat). |
QPointingDevice::PointerType::Cursor | 0x0010 | Ein transparenter Kreis mit Fadenkreuz, wie er auf einem Puck Gerät zu finden ist. |
QPointingDevice::PointerType::AllPointerTypes | 0x7FFF | Jeder der oben genannten (als Standard-Filterwert verwendet). |
Der Typ PointerTypes ist ein Typedef für QFlags<PointerType>. Er speichert eine ODER-Kombination von PointerType-Werten.
Dokumentation der Mitgliedsfunktionen
QPointingDevice::QPointingDevice(QObject *parent = nullptr)
Erzeugt eine neue ungültige Zeigegeräteinstanz als Kind 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)
Erzeugt eine neue Zeigegeräteinstanz mit den angegebenen name, deviceType, pointerType, capabilities, maxPoints, buttonCount, seatName, uniqueId und parent.
int QPointingDevice::buttonCount() const
Gibt die maximale Anzahl von Gerätetasten 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 ausgesendet, wenn das Objekt grabber einen exklusiven oder passiven Zugriff auf point während der Übergabe von event erhält oder verliert. transition teilt mit, was aus der Sicht des Objekts grabber
geschehen ist.
Hinweis: Ein Grab-Übergang von einem Objekt zu einem anderen resultiert in zwei Signalen, um mitzuteilen, dass ein Objekt seinen Grab verloren hat, und um mitzuteilen, dass es einen anderen Grabber gibt. In anderen Fällen, wenn der Übergang zu oder von einem nicht-grabbenden Zustand erfolgt, 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 gleichzeitiger Berührungspunkte (Finger) zurück, die erkannt werden können.
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 Hauptzeiger, der traditionell als Maus angenommen wird) auf dem angegebenen Sitz seatName zurück.
Wenn mehrere Zeigegeräte registriert sind, bevorzugt diese Funktion eine Maus oder ein Touchpad, das mit dem angegebenen seatName übereinstimmt und kein anderes Gerät als übergeordnetes Gerät hat. Normalerweise hat nur ein Haupt- oder Kerngerät kein übergeordnetes Gerät. Wird jedoch ein solches Gerät nicht gefunden, erzeugt diese Funktion eine neue virtuelle "Core Pointer"-Maus. Auf diese Weise funktioniert Qt auch auf Plattformen, die noch keine Erkennung und Registrierung von Eingabegeräten vornehmen.
QPointingDeviceUniqueId QPointingDevice::uniqueId() const
Gibt eine eindeutige ID (von zweifelhaftem Nutzen) für das Gerät zurück.
Sie sollten sich wahrscheinlich eher mit QPointerEventPoint::uniqueId() beschäftigen.
Hinweis: Getter-Funktion für die Eigenschaft uniqueId.
© 2025 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.