SatelliteSource QML Type
La classe SatelliteSource fournit les informations relatives aux satellites. En savoir plus…
| Import Statement: | import QtPositioning |
| Since: | Qt 6.5 |
Propriétés
- active : bool
- name : string
- parameters : list<PluginParameter>
- satellitesInUse : list<geoSatelliteInfo>
- satellitesInView : list<geoSatelliteInfo>
- sourceError : enumeration
- updateInterval : int
- valid : bool
Méthodes
- var backendProperty(string name)
- bool setBackendProperty(string name, var value)
- void start()
- void stop()
- void update(int timeout)
Description détaillée
La classe SatelliteSource fournit des informations sur les satellites utilisés et les satellites visibles. Cette classe est une représentation QML de QGeoSatelliteInfoSource.
À l'instar de son équivalent en C++, cette classe prend en charge différents plugins. Utilisez la propriété name pour spécifier le nom du plugin à utiliser et indiquez l'PluginParameter, si nécessaire. Si la propriété name n'est pas définie, un plugin par défaut sera utilisé. Consultez la section Plugins d'Qt Positioning pour plus d'informations sur les plugins disponibles.
Utilisez la propriété ` valid ` pour vérifier l’état de `SatelliteSource`.
Utilisez la propriété updateInterval pour indiquer la fréquence à laquelle votre application souhaite recevoir les mises à jour des informations sur les satellites. Les méthodes start(), stop() et update() peuvent être utilisées pour contrôler le fonctionnement de SatelliteSource, tout comme la propriété active qui, lorsqu’elle est définie, équivaut à appeler start() ou stop().
Lorsque SatelliteSource est active, les mises à jour des informations satellite peuvent être récupérées à l’aide des propriétés ` satellitesInView ` et ` satellitesInUse `.
Si une erreur survient lors de la mise à jour des informations satellite, utilisez la propriété sourceError pour obtenir le code d'erreur correspondant.
Exemple d'utilisation
L’exemple suivant montre une instance de SatelliteSource qui utilise le plugin NMEA pour recevoir des mises à jour d’informations sur les satellites toutes les secondes et afficher sur la console le nombre de satellites visibles et de satellites utilisés.
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)
}
}Voir également QGeoSatelliteInfoSource, PluginParameter et geoSatelliteInfo.
Documentation sur les propriétés
active : bool
Cette propriété indique si la source satellite est active. Définir cette propriété sur false revient à appeler stop, et la définir sur true revient à appeler start.
Voir également start, stop et update.
name : string
Cette propriété contient le nom interne unique du plugin fournissant actuellement les informations satellite.
La définition de cette propriété indique à l'SatelliteSource d'utiliser un plugin backend spécifique. Si l'SatelliteSource est actif au moment où la propriété « name » est modifiée, il sera désactivé. Si le backend spécifié ne peut pas être chargé, la source satellite deviendra invalide.
La modification de la propriété « name » peut également entraîner une modification de la propriété « updateInterval ».
parameters : list<PluginParameter> [default read-only]
Cette propriété contient la liste des paramètres du plugin.
Voir également PluginParameter.
satellitesInUse : list<geoSatelliteInfo> [read-only]
Cette propriété contient la liste des satellites actuellement utilisés. Il s'agit des satellites servant à obtenir une « position », c'est-à-dire ceux utilisés pour déterminer la position actuelle.
satellitesInView : list<geoSatelliteInfo> [read-only]
Cette propriété contient la liste des satellites actuellement visibles.
sourceError : enumeration [read-only]
Cette propriété contient la dernière erreur survenue avec le fournisseur de données backend.
| Constante | Description |
|---|---|
SatelliteSource.AccessError | L'établissement de la connexion avec le backend satellite a échoué car l'application ne disposait pas des privilèges requis. |
SatelliteSource.ClosedError | Le backend satellite a fermé la connexion, ce qui se produit par exemple lorsque l'utilisateur désactive les services de localisation. |
SatelliteSource.NoError | Aucune erreur ne s’est produite. |
SatelliteSource.UnknownSourceError | Une erreur non identifiée s'est produite. |
SatelliteSource.UpdateTimeoutError | Les informations du satellite n'ont pas pu être récupérées dans le délai imparti. |
updateInterval : int
Cette propriété définit l'intervalle souhaité entre les mises à jour, exprimé en millisecondes.
valid : bool [read-only]
Cette propriété a la valeur « true » si l'objet « SatelliteSource » a acquis un plugin backend valide pour fournir des données, et « false » dans le cas contraire.
Les applications doivent vérifier cette propriété afin de déterminer si la fourniture d’informations satellites est disponible et activée sur la plateforme d’exécution, et réagir en conséquence.
Documentation de la méthode
var backendProperty(string name)
Renvoie la valeur de la propriété spécifique au backend nommée « name », si elle existe. Dans le cas contraire, y compris si la fonction est appelée sur un objet « SatelliteSource » non initialisé, la valeur renvoyée sera invalide.
Voir également setBackendProperty().
bool setBackendProperty(string name, var value)
Définit la propriété spécifique au backend nommée « name » sur « value ». Renvoie « true » en cas de succès, « false » dans le cas contraire, y compris si la fonction est appelée sur un objet « SatelliteSource » non initialisé.
Voir également backendProperty().
void start()
Demande des mises à jour à la source satellite. Utilise updateInterval si cette valeur est définie ; sinon, l'intervalle par défaut est utilisé. Si aucune source n'est disponible, cette méthode n'a aucun effet.
Voir également stop(), update() et active.
void stop()
Interrompt les mises à jour provenant de la source satellite. Si aucune source n'est disponible ou si celle-ci n'est pas active, cette méthode n'a aucun effet.
Voir également start(), update() et active.
void update(int timeout = 0)
Méthode pratique permettant de demander une seule mise à jour à la source satellite. Si aucune source n'est disponible, cette méthode n'a aucun effet.
Si la source satellite n'est pas active, elle sera activée le temps nécessaire pour recevoir une mise à jour, ou jusqu'à ce que la requête expire. Le délai d'expiration de la requête dépend du plugin.
Le délai d'expiration (` timeout `) est spécifié en millisecondes. Si la valeur ` timeout ` est égale à zéro (valeur par défaut), un délai d'expiration raisonnable, adapté à la source, est utilisé par défaut.
© 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.