IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QQmlNdefRecord Class

The QQmlNdefRecord class implements the NdefRecord type in QML.

This class was introduced in Qt 5.2.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QQmlNdefRecord Class

  • Header: QQmlNdefRecord

  • Since: Qt 5.2

  • qmake: QT += nfc

  • Inherited By:

  • Instantiated By: qml-qtnfc-ndefrecord.xml

  • Inherits: QObject

  • Inherited By:

  • Group: QQmlNdefRecord is part of connectivity-nfc

Detailed Description

The QQmlNdefRecord class is the base class for all NdefRecord types in QML. To support a new NDEF record type in QML subclass this class and expose new properties, member functions and signals appropriate for the new record type. The following must be done to create a new NDEF record type in QML:

  • The subclass must have a Q_OBJECT macro in its declaration.

  • The subclass must have an invokable constructor that takes a QNdefRecord and a QObject pointer.

  • The subclass must be declared as an NDEF record by expanding the Q_DECLARE_NDEFRECORD() macro in the implementation file of the subclass.

  • The subclass must be registered with QML.

For example the declaration of such a class may look like the following.

 
Sélectionnez
class QQmlNdefFooRecord : public QQmlNdefRecord
{
    Q_OBJECT

    Q_PROPERTY(int foo READ foo WRITE setFoo NOTIFY fooChanged)

public:
    explicit QQmlNdefFooRecord(QObject *parent = 0);
    Q_INVOKABLE QQmlNdefFooRecord(const QNdefRecord &record, QObject *parent = 0);
    ~QQmlNdefFooRecord();

    int foo() const;
    void setFoo(int value);

signals:
    void fooChanged();
};

Within the implementation file the Q_DECLARE_NDEFRECORD() macro is expanded:

 
Sélectionnez
Q_DECLARE_NDEFRECORD(QQmlNdefFooRecord, QNdefRecord::ExternalRtd, "com.example:f")

Finially the application or plugin code calls qmlRegisterType():

 
Sélectionnez
qmlRegisterType<QQmlNdefFooRecord>(uri, 1, 0, "NdefFooRecord");

See Also

See also NdefRecord

Member Type Documentation

 

enum QQmlNdefRecord::TypeNameFormat

This enum describes the type name format of an NDEF record. The values of this enum are according to QNdefRecord::TypeNameFormat

Constant

Value

Description

QQmlNdefRecord::Empty

QNdefRecord::Empty

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

QQmlNdefRecord::NfcRtd

QNdefRecord::NfcRtd

The NDEF record type is defined by an NFC RTD Specification.

QQmlNdefRecord::Mime

QNdefRecord::Mime

The NDEF record type follows the construct described in RFC 2046.

QQmlNdefRecord::Uri

QNdefRecord::Uri

The NDEF record type follows the construct described in RFC 3986.

QQmlNdefRecord::ExternalRtd

QNdefRecord::ExternalRtd

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

QQmlNdefRecord::Unknown

QNdefRecord::Unknown

The NDEF record type is unknown.

Property Documentation

 

record : QNdefRecord

This property hold the NDEF record that this class represents.

Access functions:

Notifier signal:

  • void recordChanged()

type : QString

This property hold the type of the NDEF record.

Access functions:

Notifier signal:

typeNameFormat : TypeNameFormat

This property hold the TNF of the NDEF record.

Access functions:

Notifier signal:

  • void typeNameFormatChanged()

Member Function Documentation

 

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

Constructs a new empty QQmlNdefRecord with parent.

[explicit] QQmlNdefRecord::QQmlNdefRecord(const QNdefRecord &record, QObject *parent = nullptr)

Constructs a new QQmlNdefRecord representing record. The parent of the newly constructed object will be set to parent.

[virtual] QQmlNdefRecord::~QQmlNdefRecord()

Destroys the QQmlNdefRecord instance.

QNdefRecord QQmlNdefRecord::record() const

Returns a copy of the record.

Getter function for property record.

See Also

See also setRecord()

void QQmlNdefRecord::setRecord(const QNdefRecord &record)

Sets the record to record. If the record is set the recordChanged() signal will be emitted.

Setter function for property record.

See Also

See also record()

void QQmlNdefRecord::setType(const QString &newtype)

Sets the record type to newtype if it is not currently equal to type(); otherwise does nothing. If the record type is set the typeChanged() signal will be emitted.

Setter function for property type.

See Also

void QQmlNdefRecord::setTypeNameFormat(QQmlNdefRecord::TypeNameFormat newTypeNameFormat)

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

Setter function for property typeNameFormat.

See Also

See also typeNameFormat()

QString QQmlNdefRecord::type() const

Returns the type of the record.

Getter function for property type.

See Also

void QQmlNdefRecord::typeChanged()

This signal is emitted when the record type changes.

Notifier signal for property type.

QQmlNdefRecord::TypeNameFormat QQmlNdefRecord::typeNameFormat() const

Returns the type name format of the NDEF record.

Getter function for property typeNameFormat.

See Also

See also setTypeNameFormat()

Macro Documentation

 

Q_DECLARE_NDEFRECORD(className, typeNameFormat, type)

This macro ensures that className is declared as the class implementing the NDEF record identified by typeNameFormat and type.

This macro should be expanded in the implementation file for className.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+