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 :
| android | Enveloppe le sous-système de positionnement Android. Disponible uniquement sur Android. |
| corelocation | Enveloppe les sous-systèmes de localisation d'iOS et de macOS. Disponible uniquement sur les plateformes Apple prenant en charge Corelocation. |
| geoclue2 | Un backend GeoClue v2 qui fournit une interface vers le service D-Bus de GeoClue v2. |
| gypsy | Un backend Gypsy qui fournit une interface vers le démon Gypsy. |
| winrt | Enveloppe le sous-système de positionnement WinRT. Disponible uniquement sur WinRT et Windows 10. |
| nmea | Un 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. |
| positionpoll | Backend 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és | Nom/clé unique du plugin. Chaque plugin « position » doit avoir un nom unique. |
| Fournisseur | Nom 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. |
| Position | Définissez cette option sur « true » si le plugin implémente une « QGeoPositionInfoSource ». |
| Satellite | Définissez cette valeur sur « true » si le plugin implémente une « QGeoSatelliteInfoSource ». |
| Moniteur | Dé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.