Класс QQmlNdefRecord
Класс QQmlNdefRecord реализует тип NdefRecord в QML. Подробнее...
| Заголовок: | #include <QQmlNdefRecord> |
| qmake: | QT += nfc |
| С момента: | Qt 5.2 |
| Инициализируется: | NdefRecord |
| Наследует: | QObject |
Открытые типы
| перечисление | TypeNameFormat { Empty, NfcRtd, Mime, Uri, ExternalRtd, Unknown } |
Свойства
- record : QNdefRecord
- type : QString
- typeNameFormat : TypeNameFormat
- 1 свойство унаследовано от QObject
Открытые функции
| QQmlNdefRecord(QObject *parent = Q_NULLPTR) | |
| QQmlNdefRecord(const QNdefRecord &record, QObject *parent = Q_NULLPTR) | |
| ~QQmlNdefRecord() | |
| QNdefRecord | record() const |
| void | setRecord(const QNdefRecord &record) |
| void | setType(const QString &newtype) |
| void | setTypeNameFormat(TypeNameFormat newTypeNameFormat) |
| QString | type() const |
| TypeNameFormat | typeNameFormat() const |
- 31 открытая функция унаследована от QObject
Сигналы
| void | recordChanged() |
| void | typeChanged() |
| void | typeNameFormatChanged() |
- 2 сигнала унаследовано от QObject
Макросы
| Q_DECLARE_NDEFRECORD(className, typeNameFormat, type) |
Дополнительные унаследованные члены
- 1 открытый слот унаследован от QObject
- 11 статические открытые члены унаследованы от QObject
- 9 защищённые функции унаследованы от QObject
Подробное описание
Класс QQmlNdefRecord реализует тип NdefRecord в QML.
Класс QQmlNdefRecord является базовым классом для всех типов NdefRecord в QML. Для поддержки нового типа записей NDEF в QML, следует создать подкласс этого класса и добавить новые свойства, функции-члены и сигналы, соответствующие новому типу записей. Для создания нового типа записей NDEF в QML необходимо выполнить следующие действия:
- Подкласс должен иметь макрос Q_OBJECT в своём объявлении.
- Подкласс должен иметь вызываемый конструктор, который принимает QNdefRecord и указатель на QObject.
- Подкласс должен быть объявлен как запись NDEF, расширив макрос Q_DECLARE_NDEFRECORD() в файле реализации подкласса.
- Подкласс должен быть зарегистрирован в QML.
Например, объявление такого класса может выглядеть следующим образом.
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();
}; В файле реализации макрос Q_DECLARE_NDEFRECORD() расширяется:
Q_DECLARE_NDEFRECORD(QQmlNdefFooRecord, QNdefRecord::ExternalRtd, "com.example:f")
Наконец, код приложения или плагина вызывает qmlRegisterType():
qmlRegisterType<QQmlNdefFooRecord>(uri, 1, 0, "NdefFooRecord");
См. также NdefRecord.
Документация по типам членов
перечисление QQmlNdefRecord::TypeNameFormat
Это перечисление описывает формат имени типа записи NDEF. Значения этого перечисления соответствуют значениям перечисления QNdefRecord::TypeNameFormat
| Константа | Значение | Описание |
|---|---|---|
QQmlNdefRecord::Empty |
QNdefRecord::Empty |
Пустая запись NDEF, запись не содержит полезной нагрузки. |
QQmlNdefRecord::NfcRtd |
QNdefRecord::NfcRtd |
Тип записи NDEF определяется спецификацией NFC RTD. |
QQmlNdefRecord::Mime |
QNdefRecord::Mime |
Тип записи NDEF соответствует структуре, описанной в RFC 2046. |
QQmlNdefRecord::Uri |
QNdefRecord::Uri |
Тип записи NDEF соответствует структуре, описанной в RFC 3986. |
QQmlNdefRecord::ExternalRtd |
QNdefRecord::ExternalRtd |
Тип записи NDEF соответствует структуре внешних имён типов, описанной в спецификации NFC RTD. |
QQmlNdefRecord::Unknown |
QNdefRecord::Unknown |
Тип записи NDEF неизвестен. |
Документация по свойствам
record : QNdefRecord
Это свойство содержит запись NDEF, которую представляет данный класс.
Функции доступа:
| QNdefRecord | record() const |
| void | setRecord(const QNdefRecord &record) |
Сигнал уведомления:
| void | recordChanged() |
type : QString
Это свойство содержит тип записи NDEF.
Функции доступа:
| QString | type() const |
| void | setType(const QString &newtype) |
Сигнал уведомления:
| void | typeChanged() |
typeNameFormat : TypeNameFormat
Это свойство содержит TNF записи NDEF.
Функции доступа:
| TypeNameFormat | typeNameFormat() const |
| void | setTypeNameFormat(TypeNameFormat newTypeNameFormat) |
Сигнал уведомления:
| void | typeNameFormatChanged() |
Документация по функциям-членам
QQmlNdefRecord::QQmlNdefRecord(QObject *parent = Q_NULLPTR)
Создаёт новую пустую запись QQmlNdefRecord с parent.
QQmlNdefRecord::QQmlNdefRecord(const QNdefRecord &record, QObject *parent = Q_NULLPTR)
Создаёт новый объект QQmlNdefRecord, представляющий record. Родительским объектом нового объекта будет parent.
QQmlNdefRecord::~QQmlNdefRecord()
Удаляет экземпляр QQmlNdefRecord.
QNdefRecord QQmlNdefRecord::record() const
Возвращает копию записи.
Примечание: Функция-геттер для свойства record.
См. также setRecord().
void QQmlNdefRecord::setRecord(const QNdefRecord &record)
Устанавливает запись в record. Если запись установлена, будет выпущен сигнал recordChanged().
Примечание: Функция-сеттер для свойства record.
См. также record().
void QQmlNdefRecord::setType(const QString &newtype)
Устанавливает тип записи в newtype, если он не равен текущему типу type; в противном случае ничего не делает. Если тип записи установлен, будет выпущен сигнал typeChanged().
Примечание: Функция-сеттер для свойства type.
См. также QNdefRecord::setType() и QNdefRecord::type().
void QQmlNdefRecord::setTypeNameFormat(TypeNameFormat newTypeNameFormat)
Устанавливает формат имени типа записи NDEF в newTypeNameFormat.
Примечание: Функция-сеттер для свойства typeNameFormat.
См. также typeNameFormat().
QString QQmlNdefRecord::type() const
Возвращает тип записи.
Примечание: Функция-геттер для свойства type.
См. также QNdefRecord::setType() и QNdefRecord::type().
[signal] void QQmlNdefRecord::typeChanged()
Этот сигнал излучается при изменении типа записи.
Примечание: Сигнал-уведомление для свойства type.
TypeNameFormat QQmlNdefRecord::typeNameFormat() const
Возвращает формат имени типа записи NDEF.
Примечание: Функция-геттер для свойства typeNameFormat.
См. также setTypeNameFormat().
Документация по макросам
Q_DECLARE_NDEFRECORD(className, typeNameFormat, type)
Этот макрос гарантирует, что className объявлен как класс, реализующий запись NDEF, идентифицируемую по typeNameFormat и type.
Этот макрос должен быть расширен в файле реализации для className.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qqmlndefrecord.html