Qt NFC
L'API NFC assure la connectivité entre les appareils compatibles NFC.
Actuellement, l'API est prise en charge sur Android, iOS et Linux avec Neard v0.14 ou une version ultérieure. Ce module offre également un accès limité aux lecteurs compatibles avec la spécification PC/SC sous Linux, macOS et Windows.
La technologie NFC est une technologie sans fil à courte portée (moins de 20 centimètres) offrant un débit de transfert maximal de 424 Kbps. Elle est idéale pour transférer de petits paquets de données lorsque deux appareils sont placés l'un contre l'autre.
Le module NFC fournit des API permettant d’interagir avec les balises et les appareils du NFC Forum. Il peut détecter les cibles et les pertes, enregistrer des gestionnaires de messages NDEF, lire et écrire des messages NDEF sur des balises du NFC Forum, et envoyer des commandes spécifiques aux balises.
Utilisation du module
L’utilisation de l’API C++ d’un module Qt nécessite une liaison avec la bibliothèque du module, soit directement, soit via d’autres dépendances. Plusieurs outils de compilation prennent cela en charge, notamment CMake et qmake.
Compilation avec CMake
Utilisez la commande « find_package() » pour localiser le composant de module requis dans le paquet « Qt6 » :
find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)Pour plus de détails, consultez la présentation « Compilation avec CMake ».
Compilation avec qmake
Pour configurer le module en vue d’une compilation avec qmake, ajoutez le module en tant que valeur de la variable ` QT ` dans le fichier `.pro` du projet :
QT += nfcArticles et guides
Catégories de journalisation
Le module « QtNfc » exporte les éléments suivants : logging categories:
| Catégorie de journalisation | Description |
|---|---|
| Qt NFC.neard | Active la journalisation de l'implémentation Neard/Linux |
Exemples
Référence
Considérations de sécurité
Le contenu d'une balise NFC ne peut pas être considéré comme une entrée fiable. Il incombe au développeur de l'application de valider les données avant de les utiliser.
URI
Des fonctions telles que ` QNdefNfcUriRecord::uri()` et ` QNdefNfcSmartPosterRecord::uri()` renvoient des URI décodés directement à partir du contenu de la balise. Les applications peuvent, par exemple, vérifier que le schéma correspond à celui qu’elles s’attendent à recevoir (par exemple, ` https ` plutôt que ` file ` ou ` javascript`) avant d’ouvrir, de charger ou d’agir sur un URI renvoyé.
Données d’icône
Des fonctions telles que QNdefNfcIconRecord::data() et QNdefNfcSmartPosterRecord::icon() renvoient des tableaux d’octets bruts contenant les données d’icône intégrées dans la balise. Étant donné que le type MIME et le contenu sont tous deux fournis par l’auteur de la balise, les octets réels peuvent ne pas être conformes au type déclaré.
Les applications doivent vérifier le résultat après décodage plutôt que de supposer que les données sont valides. À titre d’exemple, transmettre les données directement à QImage est généralement sans risque, car celui-ci se charge de la validation. Il est toutefois conseillé d’effectuer une validation supplémentaire lors du traitement manuel des données ou de l’utilisation d’outils non Qt.
Évolution du module
La section «Modifications apportées à l’ Qt NFC » répertorie les changements importants apportés à l’API et aux fonctionnalités du module dans le cadre de la série Qt 6.
Licences
Qt NFC est disponible sous des licences commerciales auprès de The Qt Company. Il est également disponible sous des licences de logiciels libres. Depuis Qt 5.4, ces licences de logiciels libres sont la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Voir Licences Qt pour plus de détails.
© 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.