QNdefRecord#

The QNdefRecord class provides an NFC NDEF record. More

Inherited by: QNdefNfcUriRecord, QNdefNfcTextRecord, QNdefNfcIconRecord, QNdefNfcSmartPosterRecord

Synopsis#

Functions#

Detailed Description#

QNdefRecord and derived classes are used to parse the contents of NDEF messages and create new NDEF messages.

Use typeNameFormat() and setTypeNameFormat() to get and set the type name format of the NDEF record.

Use type() and setType() to get and set the type of the NDEF record.

Use id() and setId() to get and set the id of the NDEF record.

Use payload() and setPayload() to get and set the NDEF record payload. isEmpty() can be used to test if the payload is empty.

QNdefRecord is an implicitly shared class. This means you can efficiently convert between QNdefRecord and specialized record classes. The isRecordType() template function can be used to test if a conversion is possible. The following example shows how to test if a QNdefRecord is an NFC RTD Text record and extract the text information from it.

if (record.isRecordType<QNdefNfcTextRecord>()) {
    textRecord = QNdefNfcTextRecord(record)
    print(textRecord.text())

Creating Specialized NDEF Record Classes#

Specialized NDEF record classes can be easily created with the Q_DECLARE_NDEF_RECORD() and Q_DECLARE_ISRECORDTYPE_FOR_NDEF_RECORD() macros. The following example shows the class declaration of the hypothetical example.com:f record type that encapsulates a single int property foo.

class ExampleComF(QNdefRecord):

# public
    Q_DECLARE_NDEF_RECORD(ExampleComF, QNdefRecord.ExternalRtd, "example.com:f",
                          QByteArray(sizeof(int), char(0)))
    foo = int()
    def setFoo(v):

Q_DECLARE_ISRECORDTYPE_FOR_NDEF_RECORD(ExampleComF, QNdefRecord.ExternalRtd, "example.com:f")

The developer only needs to provide implementations for the foo() and setFoo() functions that parse and set the contents of the NDEF record’s payload.

class PySide6.QtNfc.QNdefRecord#

PySide6.QtNfc.QNdefRecord(typeNameFormat, type)

PySide6.QtNfc.QNdefRecord(other)

PySide6.QtNfc.QNdefRecord(other, typeNameFormat)

PySide6.QtNfc.QNdefRecord(other, typeNameFormat, type)

Parameters

Constructs a new empty NDEF record.

Constructs a new NDEF record that is a copy of other.

PySide6.QtNfc.QNdefRecord.TypeNameFormat#

This enum describes the type name format of an NDEF record.

Constant

Description

QNdefRecord.Empty

An empty NDEF record, the record does not contain a payload

QNdefRecord.NfcRtd

The NDEF record type is defined by an NFC RTD Specification

QNdefRecord.Mime

The NDEF record type follows the construct described in RFC 2046

QNdefRecord.Uri

The NDEF record type follows the construct described in RFC 3986

QNdefRecord.ExternalRtd

The NDEF record type follows the construct for external type names described the NFC RTD Specification

QNdefRecord.Unknown

The type of the record is unknown and should be treated similar to content with MIME type ‘application/octet-stream’ without further context

PySide6.QtNfc.QNdefRecord.clear()#

Clear the NDEF record.

An isEmpty() call returns true for a cleared record. The record type() is set to Empty .

PySide6.QtNfc.QNdefRecord.id()#
Return type

PySide6.QtCore.QByteArray

Returns the id of the NDEF record.

See also

setId()

PySide6.QtNfc.QNdefRecord.isEmpty()#
Return type

bool

Returns true if the NDEF record contains an empty payload; otherwise returns false.

This is equivalent to calling payload().isEmpty().

PySide6.QtNfc.QNdefRecord.__ne__(other)#
Parameters

otherPySide6.QtNfc.QNdefRecord

Return type

bool

Returns true if this NDEF record does not equal other; otherwise return false.

PySide6.QtNfc.QNdefRecord.__eq__(other)#
Parameters

otherPySide6.QtNfc.QNdefRecord

Return type

bool

Returns true if other and this NDEF record are the same. Otherwise returns false.

PySide6.QtNfc.QNdefRecord.payload()#
Return type

PySide6.QtCore.QByteArray

Returns the payload of the NDEF record.

See also

setPayload()

PySide6.QtNfc.QNdefRecord.setId(id)#
Parameters

idPySide6.QtCore.QByteArray

Sets the id of the NDEF record to id.

See also

id()

PySide6.QtNfc.QNdefRecord.setPayload(payload)#
Parameters

payloadPySide6.QtCore.QByteArray

Sets the payload of the NDEF record to payload.

See also

payload()

PySide6.QtNfc.QNdefRecord.setType(type)#
Parameters

typePySide6.QtCore.QByteArray

Sets the type of the NDEF record to type.

See also

type()

PySide6.QtNfc.QNdefRecord.setTypeNameFormat(typeNameFormat)#
Parameters

typeNameFormatTypeNameFormat

Sets the type name format of the NDEF record to typeNameFormat.

See also

typeNameFormat()

PySide6.QtNfc.QNdefRecord.type()#
Return type

PySide6.QtCore.QByteArray

Returns the type of the NDEF record.

See also

setType()

PySide6.QtNfc.QNdefRecord.typeNameFormat()#
Return type

TypeNameFormat

Returns the type name format of the NDEF record.