Die Änderungen an Qt Sensors
Qt 6 sind das Ergebnis des bewussten Bemühens, das Framework effizienter und benutzerfreundlicher zu gestalten.
Wir versuchen, die Binär- und Quellcodekompatibilität für alle öffentlichen APIs in jeder Version zu erhalten. Einige Änderungen waren jedoch unvermeidlich, um Qt zu einem besseren Framework zu machen.
In diesem Thema fassen wir diese Änderungen unter Qt Sensors zusammen und geben Anleitungen zu deren Handhabung.
Sensor Gesten-Unterstützung
Die Unterstützung für Gesten wurde entfernt. In ihrer jetzigen Form müssen die Gesten überdacht werden, um für die Entwickler nützlicher zu sein. Um dies zu verfolgen, lesen Sie bitte QTBUG-95649.
Hinweise zur Plattform
Windows
Unter Windows werden Sensoren in Qt-Installationen, die mit MSVC erstellt wurden, unterstützt.
sensorfw
Der sensorfw hat noch keinen Qt 6 Port und wird daher noch nicht von Sensoren in Qt 6 unterstützt.
TI-Sensor-Tag
Die Unterstützung für TI Sensor Tag wurde entfernt.
Entfernte Sensoren
QAltimeter, QDistanceSensor, QHolsterSensor und ihre QML-Pendants haben keine Backend-Implementierung mehr und wurden entfernt.
QIRProximitySensor, QLidSensor und QTapSensor haben nur ein sensorfw-Backend und sind daher derzeit nicht als unterstützte Sensortypen aufgeführt.
Linux
Die Unterstützung für den sysfs-Beschleunigungsmesser unter Linux wurde entfernt. Das Backend ist undokumentiert und hat seit fast 10 Jahren keine wirkliche Aktivität mehr.
API-Änderungen
Gelöschte Typendefinition für qtimestamp
Der typedef für den historischen, aus der QtMobility-Ära stammenden, qtimestamp
wurde entfernt. Verwenden Sie direkt den aktuellen Typ quint64
.
Umbenennung des sensor
Typs string in sensorType
Die Unterklassen von QSensor implementieren einen char const*
String, der den String definiert, der den Basissensor identifiziert. Dieses statische Feld type
überschattete die Methode QSensor::type() der Basisklasse, was zu unnötigen Kompilierungsfehlern und daraus resultierenden Umgehungen führte. Der String type
wurde nun in sensorType
umbenannt.
Umbenennung der Eigenschaft LidReading::backLidChanged in backLidClosed
Der Eigenschaftsname ist nun an die frontLidClosed
Eigenschaft desselben QML-Typs angeglichen.
Parameter zu QSensorBackend::sensorBusy() hinzugefügt, um auch den
den Busy-Status zu löschen
Die Eigenschaft QSensor::busy
und ihr Accessor, QSensor::isBusy()
, können verwendet werden, um zu prüfen, ob der Sensor beschäftigt ist oder nicht. Damit diese Eigenschaft den Zustand des Sensor-Backends besser widerspiegeln kann, akzeptiert QSensorBackend::sensorBusy() jetzt einen booleschen Parameter. Dieser busy
Parameter wird verwendet, um den Backend-Busy-Status zu setzen/aufzuheben und die damit verbundene QSensor Schnittstelle zu benachrichtigen.
Der Standardwert für den Parameter QSensorBackend::sensorBusy() ist true, was das ursprüngliche Verhalten zur Folge hat (mit Ausnahme der zusätzlichen Signalausgabe). Dies bedeutet, dass die Änderungen in den meisten, wenn nicht allen Fällen nicht zwingend erforderlich sind. Stattdessen liegt es an den einzelnen Sensor-Backend-Implementierungen zu entscheiden, ob die Änderungen sinnvoll sind.
Sensor::type und QSensor::type Eigenschaften, die als konstant markiert sind
Die Eigenschaft type
kann sich nach der Instanziierung nicht mehr ändern und ist sowohl in C++ als auch in QML als konstant gekennzeichnet.
© 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.