Sur cette page

QNearFieldTarget Class

La classe QNearFieldTarget fournit une interface pour communiquer avec un dispositif cible. Plus d'informations...

En-tête : #include <QNearFieldTarget>
CMake : find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)
qmake : QT += nfc
Héritages : 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 pour communiquer avec un dispositif cible NFC. Cette classe prend en charge à la fois les dispositifs du Forum NFC et les cibles d'étiquettes du Forum NFC. Toutes les classes spécifiques aux cibles sous-classent cette classe.

La fonction type() peut être utilisée pour obtenir le type du dispositif cible. La fonction uid() renvoie l'identifiant unique de la cible. Les drapeaux AccessMethods renvoyés par la fonction accessMethods() peuvent être testés pour déterminer les méthodes d'accès supportées par la cible.

Si la cible supporte NdefAccess, hasNdefMessage() peut être appelé pour tester si la cible a un message NDEF stocké, les fonctions readNdefMessages() et writeNdefMessages() peuvent être utilisées pour obtenir et définir le message NDEF.

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

Type de membre Documentation

enum QNearFieldTarget::AccessMethod
flags QNearFieldTarget::AccessMethods

Cette énumération décrit les méthodes d'accès prises en charge par une cible de 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 en utilisant readNdefMessages() et writeNdefMessages().
QNearFieldTarget::TagTypeSpecificAccess0x02La cible prend en charge l'envoi de commandes spécifiques au type de balise en utilisant sendCommand().
QNearFieldTarget::AnyAccess0xffLa cible supporte 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 signalés par une cible de champ proche.

ConstanteValeurDescription de l'erreur
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 de 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 à un type de balise.
QNearFieldTarget::ConnectionError7Échec de la connexion à la cible.
QNearFieldTarget::NdefReadError8Échec de la lecture des messages NDEF de la cible.
QNearFieldTarget::NdefWriteError9Échec de l'écriture de messages NDEF sur la cible.
QNearFieldTarget::CommandError10Échec de l'envoi d'une commande à la cible.
QNearFieldTarget::TimeoutError11La demande n'a pas pu être achevée dans le délai spécifié dans waitForRequestCompleted().
QNearFieldTarget::UnsupportedTargetError12La cible utilisée n'est pas prise en charge. Par exemple, cela peut se produire lorsque l'application client ne dispose pas des droits et/ou des paramètres de confidentialité requis.

enum QNearFieldTarget::Type

Cette énumération décrit le type d'étiquette détecté pour la cible.

ConstanteValeurDescription
QNearFieldTarget::ProprietaryTag0Étiquette de cible propriétaire non identifiée.
QNearFieldTarget::NfcTagType11Une cible NFC de type 1.
QNearFieldTarget::NfcTagType22Un tag NFC de type 2.
QNearFieldTarget::NfcTagType33Un tag NFC de type 3.
QNearFieldTarget::NfcTagType44Un tag NFC de type 4 cible. Cette valeur est utilisée si le NfcTagType4 ne peut pas être affiné par le NfcTagType4A ou le NfcTagType4B ci-dessous.
QNearFieldTarget::NfcTagType4A5Une cible d'étiquette NFC de type 4 basée sur la norme ISO/IEC 14443-3A.
QNearFieldTarget::NfcTagType4B6Une cible d'étiquette 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)

Construit une nouvelle cible de champ proche avec parent.

[virtual noexcept] QNearFieldTarget::~QNearFieldTarget()

Détruit la cible du champ proche.

QNearFieldTarget::AccessMethods QNearFieldTarget::accessMethods() const

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

bool QNearFieldTarget::disconnect()

Ferme la connexion à la cible pour permettre la communication avec la cible à partir d'une instance différente. La connexion sera également fermée lorsque le site QNearFieldTarget sera détruit. Une connexion au dispositif cible est (re)créée pour traiter une commande ou lire/écrire un message 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 se produit lors du traitement de la demande 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 de champ proche ; sinon, renvoie false.

int QNearFieldTarget::maxCommandLength() const

Renvoie le nombre maximum d'octets qui peuvent être envoyés avec sendCommand. 0 sera renvoyé si la cible ne supporte pas l'envoi de commandes spécifiques au type de tag.

Voir aussi sendCommand().

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

Ce signal est émis lorsqu'un NDEF message complet a été lu dans la cible.

Voir aussi readNdefMessages().

QNearFieldTarget::RequestId QNearFieldTarget::readNdefMessages()

Commence à lire les messages NDEF stockés sur la cible de champ proche. Renvoie un identifiant de demande qui peut être utilisé pour suivre l'état d'achèvement de la demande. Un identifiant de demande invalide sera renvoyé si la cible ne prend pas en charge la lecture des messages NDEF.

Un signal ndefMessageRead() est émis pour chaque message NDEF. Le signal requestCompleted() est émis lorsque tous les messages NDEF ont été lus. Le signal error() est émis en cas d'erreur.

Note : Une tentative de lecture d'un message NDEF à partir d'un tag, qui est dans l'état INITIALIZED tel que défini par le NFC Forum, échouera avec le signal NdefReadError, car le tag est formaté pour supporter le 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 pour la demande id. Si la demande est inconnue ou n'a pas encore été complétée, une réponse invalide QVariant est renvoyée.

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

Envoie command à la cible en champ proche. Renvoie un identifiant de demande qui peut être utilisé pour suivre l'état d'achèvement de la demande. Un identifiant de demande invalide 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 demande est terminée avec succès, sinon le signal error() sera émis.

Une fois la demande terminée avec succès, la réponse peut être récupérée à l'aide de la fonction requestResponse(). La réponse à cette demande sera un QByteArray.

Voir également requestCompleted() et waitForRequestCompleted().

QNearFieldTarget::Type QNearFieldTarget::type() const

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

QByteArray QNearFieldTarget::uid() const

Renvoie l'UID de la cible en champ proche.

Remarque : sur iOS, cette fonction renvoie une adresse QByteArray vide pour une cible de champ proche découverte à l'aide de la méthode NdefAccess.

Voir aussi QNearFieldTarget::AccessMethod.

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

Attend jusqu'à msecs millisecondes que la demande id se termine. Renvoie true si la demande se termine avec succès et que le signal requestCompeted() est émis ; sinon, renvoie false.

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

Écrit les messages NDEF dans messages vers la cible. Renvoie un identifiant de demande qui peut être utilisé pour suivre l'état d'achèvement de la demande. Un identifiant de requête invalide sera renvoyé si la cible ne supporte pas l'écriture de messages NDEF.

Le signal requestCompleted() est émis lorsque l'opération d'écriture se termine avec succès ; dans le cas contraire, le signal error() est é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.