QQmlNdefRecord Class

The QQmlNdefRecord class implements the NdefRecord type in QML. 更多...

頭: #include <QQmlNdefRecord>
qmake: QT += nfc
Since: Qt 5.2
實例化: NdefRecord
繼承: QObject

該類在 Qt 5.2 引入。

公共類型

enum TypeNameFormat { Empty, NfcRtd, Mime, Uri, ExternalRtd, Unknown }

特性

公共函數

QQmlNdefRecord (const QNdefRecord & record , QObject * parent = nullptr)
QQmlNdefRecord (QObject * parent = nullptr)
virtual ~QQmlNdefRecord ()
QNdefRecord record () const
void setRecord (const QNdefRecord & record )
void setType (const QString & newtype )
void setTypeNameFormat (QQmlNdefRecord::TypeNameFormat newTypeNameFormat )
QString type () const
QQmlNdefRecord::TypeNameFormat typeNameFormat () const

信號

void recordChanged ()
void typeChanged ()
void typeNameFormatChanged ()

Q_DECLARE_NDEFRECORD ( className , typeNameFormat , type )

詳細描述

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 QObject 指針。
  • 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.

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:

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

Finially the application or plugin code calls qmlRegisterType():

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

另請參閱 NdefRecord .

成員類型文檔編製

enum QQmlNdefRecord:: TypeNameFormat

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

常量 描述
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.

特性文檔編製

record : QNdefRecord

This property hold the NDEF record that this class represents.

訪問函數:

QNdefRecord record () const
void setRecord (const QNdefRecord & record )

通知程序信號:

void recordChanged ()

type : QString

This property hold the type of the NDEF record.

訪問函數:

QString type () const
void setType (const QString & newtype )

通知程序信號:

void typeChanged ()

typeNameFormat : TypeNameFormat

This property hold the TNF of the NDEF record.

訪問函數:

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

通知程序信號:

void typeNameFormatChanged ()

成員函數文檔編製

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 .

QQmlNdefRecord:: QQmlNdefRecord ( QObject * parent = nullptr)

Constructs a new empty QQmlNdefRecord with parent .

[signal] void QQmlNdefRecord:: typeChanged ()

This signal is emitted when the record type changes.

注意: 通知程序信號對於特性 type .

[虛擬] QQmlNdefRecord:: ~QQmlNdefRecord ()

銷毀 QQmlNdefRecord 實例。

QNdefRecord QQmlNdefRecord:: record () const

Returns a copy of the record.

注意: Getter function for property record.

另請參閱 setRecord ().

void QQmlNdefRecord:: setRecord (const QNdefRecord & record )

Sets the record to record . If the record is set the recordChanged () 信號將發射。

注意: setter 函數對於特性 record .

另請參閱 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 () 信號將發射。

注意: setter 函數對於特性 type .

另請參閱 QNdefRecord::setType () 和 QNdefRecord::type ().

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

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

注意: setter 函數對於特性 typeNameFormat .

另請參閱 typeNameFormat ().

QString QQmlNdefRecord:: type () const

Returns the type of the record.

注意: getter 函數對於特性 type。

另請參閱 QNdefRecord::setType () 和 QNdefRecord::type ().

QQmlNdefRecord::TypeNameFormat QQmlNdefRecord:: typeNameFormat () const

Returns the type name format of the NDEF record.

注意: Getter function for property typeNameFormat.

另請參閱 setTypeNameFormat ().

宏文檔編製

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 .