Qt Positioning Plugins
Qt Positioning stellt den Großteil seiner Funktionalität über Plugins bereit. Dieses Dokument beschreibt, wie man ein neues Positions-Plugin entwickelt.
Standard-Plugins
Einige Plugins sind bereits im Lieferumfang von Qt enthalten. Dazu gehören:
| android | Umhüllt das Android -Positionsbestimmungs-Subsystem. Nur auf Android verfügbar. |
| corelocation | Umhüllt die Positionsbestimmungs-Subsysteme von iOS und macOS. Nur auf Apple-Plattformen verfügbar, die Corelocation unterstützen. |
| geoclue2 | Ein GeoClue v2 -Backend, das eine Schnittstelle zum GeoClue v2-D-Bus-Dienst bereitstellt. |
| gypsy | Ein Gypsy-Backend, das eine Schnittstelle zum Gypsy-Daemon bereitstellt. |
| winrt | Umhüllt das WinRT-Positionsbestimmungs-Subsystem. Nur unter WinRT und Windows 10 verfügbar. |
| nmea | Ein NMEA -Backend, das NMEA-Datenströme von einem GPS-Empfänger auswertet, um Positionsaktualisierungen bereitzustellen. Dieses Plugin kann eine serielle Schnittstelle, einen Socket oder eine Datei als Quelle verwenden. |
| positionpoll | Ein Backend, das ausschließlich Funktionen zur Bereichsüberwachung durch Abfrage von Positionsaktualisierungen bereitstellt. |
Plugin-Beschreibung
Jedes Plugin wird durch eine JSON-Datei beschrieben. Die JSON-Datei beschreibt die Funktionen und die Version des Plugins. Nachfolgend finden Sie ein Beispiel für eine JSON-Datei, die vom „positionpoll“-Plugin verwendet wird:
{
"Keys": ["positionpoll"],
"Provider": "positionpoll",
"Position": false,
"Satellite": false,
"Monitor": true,
"Priority": 1000,
"Testable": true
}Die Einträge haben folgende Bedeutung:
| Schlüssel | Beschreibung |
|---|---|
| Schlüssel | Der eindeutige Name/Schlüssel des Plugins. Jedes Position-Plugin muss einen eindeutigen Namen haben. |
| Anbieter | Der Name des Anbieters der Dienste. Mehrere Plugins können denselben Namen haben. In solchen Fällen wird die Versionszeichenfolge verwendet, um die Plugins weiter zu unterscheiden. |
| Position | Setzen Sie den Wert auf „ true “, wenn das Plugin eine „ QGeoPositionInfoSource “ implementiert. |
| Satellit | Setzen Sie diesen Wert auf „ true “, wenn das Plugin einen „ QGeoSatelliteInfoSource “ implementiert. |
| Monitor | Setzen Sie den Wert auf „ true “, wenn das Plugin eine „ QGeoAreaMonitorSource “ implementiert. |
| Priorität | Die Priorität des Plugins. Wenn mehrere Plugins denselben Anbieternamen haben, wird das Plugin mit der höchsten Priorität verwendet. |
Implementierung von Plugins
Ein Plugin-Entwickler muss eine Unterklasse von ` QGeoPositionInfoSourceFactory ` erstellen und eine oder mehrere seiner Funktionen überschreiben. Wenn ein Plugin eine bestimmte Funktion nicht unterstützt, sollte die Funktion 0 zurückgeben oder die Standardimplementierung verwenden.
© 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.