Sur cette page

Qt Positioning Les plugins

Qt Positioning offre la plupart de ses fonctionnalités via des plugins. Ce document explique comment développer un nouveau plugin de position.

Plug-ins par défaut

Certains plugins sont déjà fournis avec Qt. Il s'agit des suivants :

androidEnveloppe le sous-système de positionnement Android. Disponible uniquement sur Android.
corelocationEnveloppe les sous-systèmes de localisation d'iOS et de macOS. Disponible uniquement sur les plateformes Apple prenant en charge Corelocation.
geoclue2Un backend GeoClue v2 qui fournit une interface vers le service D-Bus de GeoClue v2.
gypsyUn backend Gypsy qui fournit une interface vers le démon Gypsy.
winrtEnveloppe le sous-système de positionnement WinRT. Disponible uniquement sur WinRT et Windows 10.
nmeaUn backend NMEA qui analyse les flux NMEA provenant d'un récepteur GPS pour fournir des mises à jour de position. Ce plugin peut utiliser un port série, un socket ou un fichier comme source.
positionpollBackend fournissant uniquement des fonctionnalités de surveillance de zone via l'interrogation des mises à jour de position.

Description des plugins

Chaque plugin est décrit par un fichier JSON. Ce fichier décrit les capacités et la version du plugin. Voici un exemple de fichier JSON utilisé par le plugin positionpoll :

{
    "Keys": ["positionpoll"],
    "Provider": "positionpoll",
    "Position": false,
    "Satellite": false,
    "Monitor": true,
    "Priority": 1000,
    "Testable": true
}

Les entrées ont la signification suivante :

CléDescription
ClésNom/clé unique du plugin. Chaque plugin « position » doit avoir un nom unique.
FournisseurNom du fournisseur des services. Plusieurs plugins peuvent porter le même nom. Dans ce cas, la chaîne « Version » sera utilisée pour distinguer davantage les plugins.
PositionDéfinissez cette option sur « true » si le plugin implémente une « QGeoPositionInfoSource ».
SatelliteDéfinissez cette valeur sur « true » si le plugin implémente une « QGeoSatelliteInfoSource ».
MoniteurDéfinissez la valeur sur « true » si le plugin implémente une fonction « QGeoAreaMonitorSource ».
PrioritéPriorité du plugin. Si plusieurs plugins portent le même nom de fournisseur, c'est celui ayant la priorité la plus élevée qui sera utilisé.

Implémentation des plugins

Pour implémenter un plugin, il faut créer une sous-classe de ` QGeoPositionInfoSourceFactory ` et redéfinir une ou plusieurs de ses fonctions. Si un plugin ne prend pas en charge une fonctionnalité spécifique, la fonction doit renvoyer 0 ou utiliser l’implémentation 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.