- class QNdefRecord#
类
QNdefRecord
提供了 NFC NDEF 记录。 更多…从下面继承:
QNdefNfcUriRecord
,QNdefNfcTextRecord
,QNdefNfcIconRecord
,QNdefNfcSmartPosterRecord
概要#
方法#
备注
本文档可能包含从C++自动翻译到Python的代码片段,我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式告诉我们。
详细描述#
注意
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QNdefRecord
及其派生类用于解析NDEF 消息
的内容并创建新的NDEF消息。使用
typeNameFormat()
和setTypeNameFormat()
获取和设置NDEF记录的类型名称格式。使用
type()
和setType()
获取和设置NDEF记录的类型。使用
id()
和setId()
获取和设置NDEF记录的ID。使用
payload()
和setPayload()
获取和设置 NDEF 记录的有效负载。可以使用isEmpty()
来测试有效负载是否为空。QNdefRecord
是一个隐式共享类。这意味着您可以有效地在QNdefRecord
和特定的记录类之间进行转换。可以使用模板函数isRecordType()
来测试是否可以进行转换。以下示例展示了如何测试一个QNdefRecord
是否是 NFC RTD 文本记录,并从中提取文本信息。if record.isRecordType<QNdefNfcTextRecord>(): textRecord = QNdefNfcTextRecord(record) print(textRecord.text())
创建专用的 NDEF 记录类#
可以通过使用宏
Q_DECLARE_NDEF_RECORD()
和Q_DECLARE_ISRECORDTYPE_FOR_NDEF_RECORD()
来轻松创建专门化的 NDEF 记录类。以下示例展示了假设的 example.com:f 记录类的声明,该类封装了一个单个 int 类型的属性 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")
开发人员只需要提供对函数
foo()
和setFoo()
的实现,这些函数解析和设置 NDEF 记录有效负载的内容。- class TypeNameFormat#
此枚举描述了 NDEF 记录的类型名称格式。
常数
说明
QNdefRecord.Empty
空 NDEF 记录,记录不包含有效负载
QNdefRecord.NfcRtd
NDEF 记录的类型由 NFC RTD 规范定义
QNdefRecord.Mime
NDEF 记录的类型遵循 RFC 2046 中描述的结构
QNdefRecord.Uri
NDEF 记录的类型遵循 RFC 3986 中描述的结构
QNdefRecord.ExternalRtd
NDEF 记录的类型遵循 NFC RTD 规范中描述的的外部类型名结构
QNdefRecord.Unknown
记录的类型未知,应类似于 MIME 类型为 ‘application/octet-stream’ 的内容进行类似处理
- __init__(typeNameFormat, type)#
- 参数:
typeNameFormat –
TypeNameFormat
type –
QByteArray
- __init__(other)
- 参数:
其他 –
QNdefRecord
构建一个新的NDEF记录,它是
other
的一个副本。- __init__(other, typeNameFormat)
- 参数:
其他 –
QNdefRecord
typeNameFormat –
TypeNameFormat
- __init__(other, typeNameFormat, type)
- 参数:
其他 –
QNdefRecord
typeNameFormat –
TypeNameFormat
type –
QByteArray
- __init__()
构建一个新的空NDEF记录。
- clear()#
清除NDEF记录。
isEmpty()
调用对一个清除的记录返回true
。记录的type()
被设置为Empty
。- id()#
- 返回类型::
返回NDEF记录的ID。
另请参阅
- isEmpty()#
- 返回类型::
bool
如果NDEF记录包含一个空的有效负载,则返回
true
;否则返回false
。这相当于调用
payload().isEmpty()
。- __ne__(other)#
- 参数:
其他 –
QNdefRecord
- 返回类型::
bool
如果这个NDEF记录与
other
不相等,则返回true
;否则返回false
。- __eq__(other)#
- 参数:
其他 –
QNdefRecord
- 返回类型::
bool
如果
other
和这个NDEF记录是相同的,则返回true
。否则返回false
。- payload()#
- 返回类型::
返回NDEF记录的有效负载。
另请参阅
- setId(id)#
- 参数:
id –
QByteArray
将 NDEF 记录的 id 设置为
id
。另请参阅
- setPayload(payload)#
- 参数:
payload –
QByteArray
将 NDEF 记录的有效载荷设置为
payload
。另请参阅
- setType(type)#
- 参数:
type –
QByteArray
将 NDEF 记录的类型设置为
type
。另请参阅
- setTypeNameFormat(typeNameFormat)#
- 参数:
typeNameFormat –
TypeNameFormat
将 NDEF 记录的类型名称格式设置为
typeNameFormat
。另请参阅
- type()#
- 返回类型::
返回 NDEF 记录的类型。
另请参阅
- typeNameFormat()#
- 返回类型::
返回 NDEF 记录的类型名称格式。
另请参阅