Sur cette page

QGeoSatelliteInfoSource Class

La classe `QGeoSatelliteInfoSource` est une classe de base abstraite destinée à la diffusion des mises à jour des informations satellitaires. En savoir plus...

En-tête : #include <QGeoSatelliteInfoSource>
CMake : find_package(Qt6 REQUIRED COMPONENTS Positioning)
target_link_libraries(mytarget PRIVATE Qt6::Positioning)
qmake : QT += positioning
Hérite de : QObject
Hérité par :

QNmeaSatelliteInfoSource

Types publics

enum Error { AccessError, ClosedError, NoError, UnknownSourceError, UpdateTimeoutError }

Propriétés

Fonctions publiques

QGeoSatelliteInfoSource(QObject *parent)
virtual ~QGeoSatelliteInfoSource()
(since 6.2) virtual QVariant backendProperty(const QString &name) const
QBindable<int> bindableUpdateInterval()
virtual QGeoSatelliteInfoSource::Error error() const = 0
virtual int minimumUpdateInterval() const = 0
(since 6.2) virtual bool setBackendProperty(const QString &name, const QVariant &value)
virtual void setUpdateInterval(int msec)
QString sourceName() const
int updateInterval() const

Emplacements publics

virtual void requestUpdate(int timeout = 0) = 0
virtual void startUpdates() = 0
virtual void stopUpdates() = 0

Signaux

void errorOccurred(QGeoSatelliteInfoSource::Error satelliteError)
void satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)
void satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)

Membres publics statiques

QStringList availableSources()
QGeoSatelliteInfoSource *createDefaultSource(QObject *parent)
(since Qt 5.14) QGeoSatelliteInfoSource *createDefaultSource(const QVariantMap &parameters, QObject *parent)
QGeoSatelliteInfoSource *createSource(const QString &sourceName, QObject *parent)
(since Qt 5.14) QGeoSatelliteInfoSource *createSource(const QString &sourceName, const QVariantMap &parameters, QObject *parent)

Description détaillée

La fonction statique QGeoSatelliteInfoSource::createDefaultSource() crée une source de données satellite par défaut adaptée à la plateforme, si une telle source est disponible. Dans le cas contraire, les plugins QGeoPositionInfoSourceFactory disponibles seront vérifiés afin de trouver celui disposant d’une source de données satellite.

Appelez ` startUpdates()` et ` stopUpdates()` pour démarrer et arrêter les mises à jour régulières, ou ` requestUpdate()` pour demander une mise à jour ponctuelle. Lorsqu’une mise à jour est disponible, les événements ` satellitesInViewUpdated()` et/ou ` satellitesInUseUpdated()` seront émis.

Si des mises à jour régulières par satellite sont nécessaires, la méthode ` setUpdateInterval()` peut être utilisée pour spécifier la fréquence à laquelle ces mises à jour doivent être émises. Si aucun intervalle n’est spécifié, les mises à jour sont simplement fournies dès qu’elles sont disponibles. Par exemple :

// Emit updates every 10 seconds if available
QGeoSatelliteInfoSource *source = QGeoSatelliteInfoSource::createDefaultSource(0);
if (source)
    source->setUpdateInterval(10000);

Pour supprimer un intervalle de mise à jour précédemment défini, appelez la fonction setUpdateInterval() en lui attribuant la valeur 0.

Remarque : la source satellite peut imposer une valeur minimale pour les intervalles de mise à jour, telle que renvoyée par ` minimumUpdateInterval()`.

Remarque : pour utiliser cette classe depuis un service Android, consultez la section « Qt Positioning » sur Android.

Documentation sur les types de membres

enum QGeoSatelliteInfoSource::Error

L'énumération Error représente les erreurs susceptibles de se produire.

ConstanteValeurDescription
QGeoSatelliteInfoSource::AccessError0L'établissement de la connexion au backend satellite a échoué car l'application ne disposait pas des privilèges requis.
QGeoSatelliteInfoSource::ClosedError1Le backend satellite a fermé la connexion, ce qui se produit par exemple lorsque l'utilisateur désactive les services de localisation. Cet objet devient invalide et doit être supprimé. Une nouvelle source satellite peut être créée ultérieurement en appelant la méthode createDefaultSource().
QGeoSatelliteInfoSource::NoError2Aucune erreur ne s'est produite.
QGeoSatelliteInfoSource::UnknownSourceError-1Une erreur non identifiée s'est produite.
QGeoSatelliteInfoSource::UpdateTimeoutError3Les informations actuelles sur le satellite n’ont pas pu être récupérées dans le délai imparti.

Documentation des propriétés

[read-only] minimumUpdateInterval : int

Cette propriété indique le temps minimum (en millisecondes) nécessaire pour récupérer une mise à jour satellite.

Il s'agit de la valeur minimale acceptée par les fonctions setUpdateInterval() et requestUpdate().

Fonctions d'accès :

virtual int minimumUpdateInterval() const = 0

[bindable] updateInterval : int

Remarque : cette propriété prend en charge les liaisons « QProperty ».

Cette propriété contient l'intervalle demandé, en millisecondes, entre chaque mise à jour.

Si l'intervalle de mise à jour n'est pas défini (ou est défini sur 0), la source fournira des mises à jour aussi souvent que nécessaire.

Si l’intervalle de mise à jour est défini, la source fournira des mises à jour à un intervalle aussi proche que possible de l’intervalle demandé. Si l’intervalle demandé est inférieur à la valeur renvoyée par la fonction minimumUpdateInterval(), l’intervalle minimum est utilisé à la place.

Les modifications apportées à l'intervalle de mise à jour seront appliquées dès que possible, mais le temps nécessaire à cette modification peut varier d'une implémentation à l'autre. Le fait que le temps écoulé depuis l'intervalle précédent soit pris en compte ou non dans le nouvel intervalle dépend également de l'implémentation.

La valeur par défaut de cette propriété est 0.

Remarque : les implémentationsdes sous-classes doivent appeler l’implémentation de base de `setUpdateInterval()` afin que `updateInterval()` renvoie la valeur correcte.

Fonctions d’accès :

int updateInterval() const
virtual void setUpdateInterval(int msec)

Documentation des fonctions membres

[explicit] QGeoSatelliteInfoSource::QGeoSatelliteInfoSource(QObject *parent)

Crée une source satellite avec l'parent spécifiée.

[virtual noexcept] QGeoSatelliteInfoSource::~QGeoSatelliteInfoSource()

Détruit la source satellite.

[static] QStringList QGeoSatelliteInfoSource::availableSources()

Renvoie une liste des plugins source disponibles, y compris le backend système par défaut s'il en existe un.

[virtual, since 6.2] QVariant QGeoSatelliteInfoSource::backendProperty(const QString &name) const

Renvoie la valeur de la propriété spécifique au backend nommée « name », si elle existe. Sinon, la valeur renvoyée sera invalide.

Cette fonction a été introduite dans Qt 6.2.

Voir également setBackendProperty.

[static] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(QObject *parent)

Crée et renvoie une source avec l'parent spécifiée, qui lit les informations de mise à jour par satellite à partir de la source par défaut du système ou du plugin disponible ayant la priorité la plus élevée.

Renvoie « nullptr » si le système ne dispose pas de source Satellite par défaut, si aucun plugin valide n'a pu être trouvé ou si l'utilisateur ne dispose pas des autorisations nécessaires pour accéder aux données Satellite.

[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createDefaultSource(const QVariantMap &parameters, QObject *parent)

Crée et renvoie une source satellite avec l’ parent spécifiée, qui s’alimente à partir des sources de données satellite par défaut du système ou du plugin ayant la priorité la plus élevée parmi ceux disponibles.

Renvoie ` nullptr ` si le système ne dispose d'aucune source satellite par défaut, si aucun plugin valide n'a pu être trouvé ou si l'utilisateur ne dispose pas des autorisations nécessaires pour accéder aux informations satellites.

Cette méthode transmet l'parameters à l'usine pour configurer la source.

Cette fonction a été introduite dans Qt 5.14.

[static] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, QObject *parent)

Crée et renvoie une source avec l'parent spécifiée, en chargeant le plugin nommé sourceName.

Renvoie nullptr si le plugin est introuvable.

[static, since Qt 5.14] QGeoSatelliteInfoSource *QGeoSatelliteInfoSource::createSource(const QString &sourceName, const QVariantMap &parameters, QObject *parent)

Crée et renvoie une source satellite avec l'parent fournie, en chargeant le plugin nommé sourceName.

Renvoie ` nullptr ` si le plugin est introuvable.

Cette méthode transmet parameters à la fabrique pour configurer la source.

Cette fonction a été introduite dans Qt 5.14.

[pure virtual] QGeoSatelliteInfoSource::Error QGeoSatelliteInfoSource::error() const

Renvoie la dernière erreur survenue.

Remarque : depuis Qt6, la dernière erreur est toujours réinitialisée lors de l'appel de ` startUpdates()` ou ` requestUpdate()`.

[signal] void QGeoSatelliteInfoSource::errorOccurred(QGeoSatelliteInfoSource::Error satelliteError)

Ce signal est émis lorsqu'une erreur s'est produite. Le paramètre « satelliteError » décrit le type d'erreur qui s'est produite.

[pure virtual slot] void QGeoSatelliteInfoSource::requestUpdate(int timeout = 0)

Tente d'obtenir les informations actuelles sur le satellite et émet les signaux satellitesInViewUpdated() et satellitesInUseUpdated() avec ces informations. Si les informations actuelles sur le satellite ne peuvent pas être trouvées dans le délai timeout (en millisecondes) ou si timeout est inférieur à la valeur renvoyée par minimumUpdateInterval(), un signal errorOccurred() avec UpdateTimeoutError est émis.

Si le délai d’expiration est égal à zéro, il prend par défaut une valeur raisonnable adaptée à la source.

Cette méthode n’a aucun effet si une autre requête de mise à jour est en cours. Elle peut toutefois être appelée même si la méthode startUpdates() a déjà été appelée et que des mises à jour régulières sont en cours.

Remarque : depuis Qt6, cette méthode réinitialise toujours la dernière erreur sur « NoError » avant de demander les informations du satellite.

Remarque : pour comprendre comment utiliser cette méthode depuis un service Android, consultez la section « Qt Positioning » sur Android.

[signal] void QGeoSatelliteInfoSource::satellitesInUseUpdated(const QList<QGeoSatelliteInfo> &satellites)

Si la fonction startUpdates() ou requestUpdate() est appelée, ce signal est émis lorsqu'une mise à jour est disponible concernant le nombre de satellites actuellement utilisés.

Il s'agit des satellites utilisés pour obtenir un « positionnement », c'est-à-dire ceux qui servent à déterminer la position actuelle.

Le paramètre satellites contient la liste des satellites actuellement utilisés.

[signal] void QGeoSatelliteInfoSource::satellitesInViewUpdated(const QList<QGeoSatelliteInfo> &satellites)

Si la fonction ` startUpdates()` ou ` requestUpdate()` est appelée, ce signal est émis lorsqu'une mise à jour est disponible pour les satellites actuellement visibles.

Le paramètre satellites contient la liste des satellites actuellement visibles.

[virtual, since 6.2] bool QGeoSatelliteInfoSource::setBackendProperty(const QString &name, const QVariant &value)

Définit la propriété spécifique au backend nommée « name » sur la valeur « value ». Renvoie « true » en cas de succès, « false » dans le cas contraire. Les propriétés spécifiques au backend peuvent être utilisées pour configurer le comportement du sous-système d'informations satellite lors de l'exécution.

Cette fonction a été introduite dans Qt 6.2.

Voir également backendProperty.

QString QGeoSatelliteInfoSource::sourceName() const

Renvoie le nom unique de l'implémentation de source satellite actuellement utilisée.

Il s’agit du même nom que celui qui peut être transmis à la méthode createSource() afin de créer une nouvelle instance d’une implémentation de source satellite particulière.

[pure virtual slot] void QGeoSatelliteInfoSource::startUpdates()

Commence à diffuser des mises à jour à intervalles réguliers. Les mises à jour seront fournies dès que de nouvelles informations satellitaires seront disponibles.

Si les informations satellite ne peuvent pas être récupérées ou si un délai d'attente a expiré, les signaux ` satellitesInViewUpdated()` et ` satellitesInUseUpdated()` peuvent être émis avec des listes de paramètres vides.

Remarque : depuis Qt6, cette méthode réinitialise toujours la dernière erreur à NoError avant de lancer les mises à jour.

Remarque : pour comprendre comment utiliser cette méthode depuis un service Android, consultez la section « Qt Positioning » sur Android.

Voir également satellitesInViewUpdated() et satellitesInUseUpdated().

[pure virtual slot] void QGeoSatelliteInfoSource::stopUpdates()

Cesse d'émettre des mises à jour à intervalles réguliers.

© 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.