Sur cette page

QNearFieldTarget Class

La classe QNearFieldTarget fournit une interface permettant de communiquer avec un périphérique cible. En savoir plus...

En-tête : #include <QNearFieldTarget>
CMake : find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake : QT += nfc
Hérite de : QObject

Types publics

class RequestId
enum AccessMethod { UnknownAccess, NdefAccess, TagTypeSpecificAccess, AnyAccess }
flags AccessMethods
enum Error { NoError, UnknownError, UnsupportedError, TargetOutOfRangeError, NoResponseError, …, UnsupportedTargetError }
enum Type { ProprietaryTag, NfcTagType1, NfcTagType2, NfcTagType3, NfcTagType4, …, MifareTag }

Fonctions publiques

QNearFieldTarget(QObject *parent = nullptr)
virtual ~QNearFieldTarget()
QNearFieldTarget::AccessMethods accessMethods() const
bool disconnect()
bool hasNdefMessage()
int maxCommandLength() const
QNearFieldTarget::RequestId readNdefMessages()
QVariant requestResponse(const QNearFieldTarget::RequestId &id) const
QNearFieldTarget::RequestId sendCommand(const QByteArray &command)
QNearFieldTarget::Type type() const
QByteArray uid() const
bool waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)
QNearFieldTarget::RequestId writeNdefMessages(const QList<QNdefMessage> &messages)

Signaux

void disconnected()
void error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)
void ndefMessageRead(const QNdefMessage &message)
void requestCompleted(const QNearFieldTarget::RequestId &id)

Description détaillée

QNearFieldTarget fournit une interface générique permettant de communiquer avec un périphérique cible NFC. Cette classe prend en charge à la fois les périphériques NFC Forum et les cibles NFC Forum Tag. Toutes les classes spécifiques à une cible sont des sous-classes de cette classe.

La fonction type() permet d'obtenir le type du périphérique cible. La fonction uid() renvoie l'identifiant unique de la cible. Les indicateurs AccessMethods renvoyés par la fonction accessMethods() peuvent être analysés pour déterminer quelles méthodes d'accès sont prises en charge par la cible.

Si la cible prend en charge la fonction « NdefAccess », la fonction ` hasNdefMessage()` peut être appelée pour vérifier si la cible contient un message NDEF stocké ; les fonctions ` readNdefMessages()` et ` writeNdefMessages()` peuvent alors être utilisées pour récupérer et définir ce message NDEF.

Si la cible prend en charge TagTypeSpecificAccess, la fonction sendCommand() peut être utilisée pour envoyer une commande propriétaire unique à la cible et récupérer la réponse.

Documentation sur les types de membres

enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods

Cette énumération décrit les méthodes d'accès prises en charge par une cible en champ proche.

ConstanteValeurDescription
QNearFieldTarget::UnknownAccess0x00La cible prend en charge un type d'accès inconnu.
QNearFieldTarget::NdefAccess0x01La cible prend en charge la lecture et l'écriture de messages NDEF à l'aide des méthodes readNdefMessages() et writeNdefMessages().
QNearFieldTarget::TagTypeSpecificAccess0x02La cible prend en charge l'envoi de commandes spécifiques au type de balise à l'aide de sendCommand().
QNearFieldTarget::AnyAccess0xffLa cible prend en charge tous les types d’accès connus.

Le type AccessMethods est un typedef pour QFlags<AccessMethod>. Il stocke une combinaison OR de valeurs AccessMethod.

enum QNearFieldTarget::Error

Cette énumération décrit les codes d'erreur renvoyés par une cible en champ proche.

ConstanteValeurDescription
QNearFieldTarget::NoError0Aucune erreur ne s’est produite.
QNearFieldTarget::UnknownError1Une erreur non identifiée s’est produite.
QNearFieldTarget::UnsupportedError2L'opération demandée n'est pas prise en charge par cette cible en champ proche.
QNearFieldTarget::TargetOutOfRangeError3La cible n'est plus à portée.
QNearFieldTarget::NoResponseError4La cible n'a pas répondu.
QNearFieldTarget::ChecksumMismatchError5La somme de contrôle a détecté une réponse corrompue.
QNearFieldTarget::InvalidParametersError6Des paramètres non valides ont été transmis à une fonction spécifique au type de balise.
QNearFieldTarget::ConnectionError7Échec de la connexion à la cible.
QNearFieldTarget::NdefReadError8Échec de la lecture des messages NDEF depuis la cible.
QNearFieldTarget::NdefWriteError9Échec de l'écriture des messages NDEF sur la cible.
QNearFieldTarget::CommandError10Échec de l'envoi d'une commande à la cible.
QNearFieldTarget::TimeoutError11La requête n'a pas pu être traitée dans le délai spécifié dans ` waitForRequestCompleted()`.
QNearFieldTarget::UnsupportedTargetError12La cible utilisée n'est pas prise en charge. Cela peut notamment se produire en cas d'absence des autorisations requises et/ou de paramètres de confidentialité dans l'application cliente.

enum QNearFieldTarget::Type

Cette énumération décrit le type de balise attribué à la cible détectée.

ConstanteValeurDescription
QNearFieldTarget::ProprietaryTag0Une balise cible propriétaire non identifiée.
QNearFieldTarget::NfcTagType11Une cible de type 1 pour les balises NFC.
QNearFieldTarget::NfcTagType22Une cible de balise NFC de type 2.
QNearFieldTarget::NfcTagType33Une cible de balise NFC de type 3.
QNearFieldTarget::NfcTagType44Une cible de balise NFC de type 4. Cette valeur est utilisée si le NfcTagType4 ne peut pas être précisé davantage par les valeurs NfcTagType4A ou NfcTagType4B ci-dessous.
QNearFieldTarget::NfcTagType4A5Une cible de balise NFC de type 4 conforme à la norme ISO/IEC 14443-3A.
QNearFieldTarget::NfcTagType4B6Une cible de balise NFC de type 4 basée sur la norme ISO/IEC 14443-3B.
QNearFieldTarget::MifareTag7Une cible Mifare.

Documentation des fonctions membres

[explicit] QNearFieldTarget::QNearFieldTarget(QObject *parent = nullptr)

Crée une nouvelle cible en champ proche à l'aide de ` parent`.

[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()

Détruit la cible située à proximité.

QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const

Renvoie les méthodes d'accès prises en charge par cette cible en champ proche.

bool QNearFieldTarget::disconnect()

Ferme la connexion avec la cible afin de permettre la communication avec celle-ci depuis une autre instance. La connexion sera également fermée lorsque l'QNearFieldTarget sera détruite. Une connexion avec le périphérique cible est (re)créée pour traiter une commande ou lire/écrire des messages NDEF.

Renvoie true uniquement si une connexion existante a été fermée avec succès ; sinon, renvoie false.

[signal] void QNearFieldTarget::disconnected()

Ce signal est émis lorsque la cible en champ proche s'éloigne.

[signal] void QNearFieldTarget::error(QNearFieldTarget::Error error, const QNearFieldTarget::RequestId &id)

Ce signal est émis lorsqu'une erreur survient lors du traitement de la requête id. Le paramètre error décrit l'erreur.

bool QNearFieldTarget::hasNdefMessage()

Renvoie ` true ` si au moins un message NDEF est stocké sur la cible en champ proche ; sinon, renvoie ` false`.

int QNearFieldTarget::maxCommandLength() const

Renvoie le nombre maximal d'octets pouvant être envoyés via sendCommand. La valeur 0 est renvoyée si la cible ne prend pas en charge l'envoi de commandes spécifiques au type de balise.

Voir également ` sendCommand()`.

[signal] void QNearFieldTarget::ndefMessageRead(const QNdefMessage &message)

Ce signal est émis lorsqu'une message NDEF complète a été lue à partir de la cible.

Voir également readNdefMessages().

QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()

Lance la lecture des messages NDEF stockés sur la cible en champ proche. Renvoie un identifiant de requête qui peut être utilisé pour suivre l'état d'avancement de la requête. Un identifiant de requête non valide sera renvoyé si la cible ne prend pas en charge la lecture des messages NDEF.

Un signal « ndefMessageRead() » sera émis pour chaque message NDEF. Le signal « requestCompleted() » sera émis lorsque tous les messages NDEF auront été lus. Le signal « error() » est émis en cas d’erreur.

Remarque : toute tentative de lecture d’un message NDEF à partir d’une balise se trouvant à l’état INITIALIZED, tel que défini par le NFC Forum, échouera avec le signal « NdefReadError », car la balise est formatée pour prendre en charge le protocole NDEF mais ne contient pas encore de message.

[signal] void QNearFieldTarget::requestCompleted(const QNearFieldTarget::RequestId &id)

Ce signal est émis lorsqu'une requête id est terminée.

Voir également sendCommand().

QVariant QNearFieldTarget::requestResponse(const QNearFieldTarget::RequestId &id) const

Renvoie la réponse décodée correspondant à la requête id. Si la requête est inconnue ou n'a pas encore été traitée, un code d'erreur « QVariant » est renvoyé.

QNearFieldTarget::RequestId QNearFieldTarget::sendCommand(const QByteArray &command)

Envoie la commande « command » à la cible en champ proche. Renvoie un identifiant de requête permettant de suivre l'état d'avancement de la requête. Un identifiant de requête non valide sera renvoyé si la cible ne prend pas en charge l'envoi de commandes spécifiques au type de balise.

Le signal ` requestCompleted()` sera émis si la requête aboutit ; dans le cas contraire, c’est le signal ` error()` qui sera émis.

Une fois la requête exécutée avec succès, la réponse peut être récupérée via la fonction ` requestResponse()`. La réponse à cette requête sera un ` QByteArray`.

Voir également requestCompleted() et waitForRequestCompleted().

QNearFieldTarget::Type QNearFieldTarget::type() const

Renvoie le type de balise de cette cible en champ proche.

QByteArray QNearFieldTarget::uid() const

Renvoie l'UID de la cible en champ proche.

Remarque : sous iOS, cette fonction renvoie un objet ` QByteArray ` vide pour une cible en champ proche détectée à l'aide de la méthode ` NdefAccess `.

Voir également QNearFieldTarget::AccessMethod.

bool QNearFieldTarget::waitForRequestCompleted(const QNearFieldTarget::RequestId &id, int msecs = 5000)

Attend jusqu’à msecs millisecondes que la requête id soit terminée. Renvoie true si la requête aboutit et que le signal requestCompeted() est émis ; sinon, renvoie false.

QNearFieldTarget::RequestId QNearFieldTarget::writeNdefMessages(const QList<QNdefMessage> &messages)

Écrit les messages NDEF contenus dans ` messages ` sur la cible. Renvoie un identifiant de requête permettant de suivre l'état d'avancement de la requête. Un identifiant de requête non valide sera renvoyé si la cible ne prend pas en charge l'écriture de messages NDEF.

Le signal « requestCompleted() » sera émis lorsque l’opération d’écriture se sera terminée avec succès ; dans le cas contraire, le signal « error() » sera émis.

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