SatelliteSource QML Type
Die Klasse „SatelliteSource“ liefert die Satellitendaten. Mehr...
| Import Statement: | import QtPositioning |
| Since: | Qt 6.5 |
Eigenschaften
- active : bool
- name : string
- parameters : list<PluginParameter>
- satellitesInUse : list<geoSatelliteInfo>
- satellitesInView : list<geoSatelliteInfo>
- sourceError : enumeration
- updateInterval : int
- valid : bool
Methoden
- var backendProperty(string name)
- bool setBackendProperty(string name, var value)
- void start()
- void stop()
- void update(int timeout)
Ausführliche Beschreibung
Die Klasse „SatelliteSource“ liefert Informationen zu den verwendeten und den sichtbaren Satelliten. Diese Klasse ist eine QML-Darstellung von QGeoSatelliteInfoSource.
Wie ihr C++-Pendant unterstützt die Klasse verschiedene Plugins. Verwenden Sie die Eigenschaft „ name “, um den Namen des zu verwendenden Plugins anzugeben, und geben Sie bei Bedarf „ PluginParameters“ an. Wenn die Eigenschaft „ name “ nicht festgelegt ist, wird ein Standard-Plugin verwendet. Weitere Informationen zu den verfügbaren Plugins finden Sie unter „Qt Positioning -Plugins “.
Verwenden Sie die Eigenschaft „ valid “, um den Status von „SatelliteSource“ zu überprüfen.
Verwenden Sie die Eigenschaft „ updateInterval “, um anzugeben, wie oft Ihre Anwendung Aktualisierungen der Satelliteninformationen erhalten soll. Mit den Methoden „ start()“, „ stop()“ und „ update()“ sowie der Eigenschaft „ active “ können Sie den Betrieb der „SatelliteSource“ steuern. Wenn diese Eigenschaft gesetzt ist, entspricht dies dem Aufruf von „ start()“ oder „ stop()“.
Wenn die „SatelliteSource“ aktiv ist, können Aktualisierungen der Satelliteninformationen über die Eigenschaften „ satellitesInView “ und „ satellitesInUse “ abgerufen werden.
Tritt während der Aktualisierung der Satellitendaten ein Fehler auf, können Sie mithilfe der Eigenschaft „ sourceError “ den tatsächlichen Fehlercode abrufen.
Anwendungsbeispiel
Das folgende Beispiel zeigt eine „SatelliteSource“, die das NMEA-Plugin verwendet, um jede Sekunde aktualisierte Satellitendaten zu empfangen und die Anzahl der sichtbaren sowie der genutzten Satelliten in der Konsole auszugeben.
SatelliteSource {
id: source
name: "nmea"
active: true
updateInterval: 1000
PluginParameter { name: "nmea.source"; value: "serial:/dev/ttyACM0" }
onSatellitesInUseChanged: {
console.log("Satellites in use:", source.satellitesInUse.length)
}
onSatellitesInViewChanged: {
console.log("Satellites in view:", source.satellitesInView.length)
}
}Siehe auch „ QGeoSatelliteInfoSource “, „ PluginParameter “ und „ geoSatelliteInfo “.
Dokumentation zu den Eigenschaften
active : bool
Diese Eigenschaft gibt an, ob die Satellitenquelle aktiv ist. Das Setzen dieser Eigenschaft auf „ false “ entspricht dem Aufruf von „ stop “, und das Setzen dieser Eigenschaft auf „ true “ entspricht dem Aufruf von „ start “.
Siehe auch „ start “, „ stop “ und „ update “.
name : string
Diese Eigenschaft enthält den eindeutigen internen Namen des Plugins, das derzeit Satelliteninformationen bereitstellt.
Durch das Setzen dieser Eigenschaft wird das „ SatelliteSource “ dazu veranlasst, ein bestimmtes Backend-Plugin zu verwenden. Ist das „ SatelliteSource “ zum Zeitpunkt der Änderung der Eigenschaft „name“ aktiv, wird es inaktiv. Kann das angegebene Backend nicht geladen werden, wird die Satellitenquelle ungültig.
Eine Änderung der Eigenschaft „name“ kann dazu führen, dass sich auch die Eigenschaft „ updateInterval “ ändert.
parameters : list<PluginParameter> [default read-only]
Diese Eigenschaft enthält die Liste der Plugin-Parameter.
Siehe auch PluginParameter.
satellitesInUse : list<geoSatelliteInfo> [read-only]
Diese Eigenschaft enthält die Liste der Satelliten, die derzeit im Einsatz sind. Dabei handelt es sich um die Satelliten, die zur Positionsbestimmung herangezogen werden – also zur Ermittlung der aktuellen Position.
satellitesInView : list<geoSatelliteInfo> [read-only]
Diese Eigenschaft enthält die Liste der Satelliten, die derzeit im Sichtfeld sind.
sourceError : enumeration [read-only]
Diese Eigenschaft enthält den zuletzt aufgetretenen Fehler des Backend-Datenanbieters.
| Konstante | Beschreibung |
|---|---|
SatelliteSource.AccessError | Der Verbindungsaufbau zum Satelliten-Backend ist fehlgeschlagen, da der Anwendung die erforderlichen Berechtigungen fehlten. |
SatelliteSource.ClosedError | Das Satelliten-Backend hat die Verbindung geschlossen; dies geschieht beispielsweise, wenn der Benutzer die Standortdienste deaktiviert. |
SatelliteSource.NoError | Es ist kein Fehler aufgetreten. |
SatelliteSource.UnknownSourceError | Es ist ein nicht identifizierter Fehler aufgetreten. |
SatelliteSource.UpdateTimeoutError | Die Satellitendaten konnten nicht innerhalb der angegebenen Zeitüberschreitung abgerufen werden. |
updateInterval : int
Diese Eigenschaft gibt das gewünschte Intervall zwischen den Aktualisierungen in Millisekunden an.
valid : bool [read-only]
Diese Eigenschaft ist „ true “, wenn das Objekt „ SatelliteSource “ ein gültiges Backend-Plugin zur Bereitstellung von Daten abgerufen hat, und andernfalls „ false “.
Anwendungen sollten diese Eigenschaft überprüfen, um festzustellen, ob die Bereitstellung von Satelliteninformationen auf der Laufzeitplattform verfügbar und aktiviert ist, und entsprechend reagieren.
Methodendokumentation
var backendProperty(string name)
Gibt den Wert der backend-spezifischen Eigenschaft „ name “ zurück, sofern vorhanden. Andernfalls – einschließlich bei Aufruf auf einem nicht initialisierten „ SatelliteSource “ – ist der Rückgabewert ungültig.
Siehe auch ` setBackendProperty()`.
bool setBackendProperty(string name, var value)
Setzt die backend-spezifische Eigenschaft „ name “ auf „ value “. Gibt bei Erfolg „true“ zurück, andernfalls „false“ – auch wenn die Funktion für ein nicht initialisiertes „ SatelliteSource “ aufgerufen wird.
Siehe auch backendProperty().
void start()
Fordert Aktualisierungen von der Satellitenquelle an. Verwendet „ updateInterval “, sofern festgelegt, andernfalls das Standardintervall. Ist keine Quelle verfügbar, hat diese Methode keine Auswirkung.
Siehe auch stop(), update() und active.
void stop()
Beendet die Aktualisierungen aus der Satellitenquelle. Wenn keine Quelle verfügbar oder diese nicht aktiv ist, hat diese Methode keine Auswirkung.
Siehe auch start(), update() und active.
void update(int timeout = 0)
Eine praktische Methode, um eine einzelne Aktualisierung von der Satellitenquelle anzufordern. Ist keine Quelle verfügbar, hat diese Methode keine Wirkung.
Ist die Satellitenquelle nicht aktiv, wird sie so lange aktiviert, bis ein Update empfangen wurde oder bis die Zeitüberschreitung der Anfrage eintritt. Die Zeitüberschreitung der Anfrage ist pluginspezifisch.
Die Zeitüberschreitungsdauer („ timeout “) wird in Millisekunden angegeben. Ist der Wert „ timeout “ gleich Null (Standardwert), wird standardmäßig eine für die Quelle angemessene Zeitüberschreitungsdauer verwendet.
© 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.