PySide6.QtNfc.QNdefRecord¶
- class QNdefRecord¶
QNdefRecord类提供了一个 NFC NDEF 记录。更多…继承自:
QNdefNfcUriRecord,QNdefNfcTextRecord,QNdefNfcIconRecord,QNdefNfcSmartPosterRecord概要¶
方法¶
def
__init__()def
clear()def
id()def
isEmpty()def
__ne__()def
__eq__()def
payload()def
setId()def
setPayload()def
setType()def
type()def
typeNameFormat()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QNdefRecord及其派生类用于解析NDEF messages的内容并创建新的 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")
开发者只需要为解析和设置NDEF记录有效载荷内容的
foo()和setFoo()函数提供实现。- 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__()¶
构造一个新的空NDEF记录。
- __init__(other)
- Parameters:
其他 –
QNdefRecord
构造一个新的NDEF记录,它是
other的副本。- __init__(typeNameFormat, type)
- Parameters:
typeNameFormat –
TypeNameFormattype –
QByteArray
- __init__(other, typeNameFormat)
- Parameters:
其他 –
QNdefRecordtypeNameFormat –
TypeNameFormat
- __init__(other, typeNameFormat, type)
- Parameters:
其他 –
QNdefRecordtypeNameFormat –
TypeNameFormattype –
QByteArray
- clear()¶
清除NDEF记录。
一个
isEmpty()调用对于已清除的记录返回true。记录的type()被设置为Empty。- id()¶
- Return type:
返回NDEF记录的ID。
另请参阅
- isEmpty()¶
- Return type:
布尔
如果NDEF记录包含空负载,则返回
true;否则返回false。这相当于调用
payload().isEmpty()。- __ne__(other)¶
- Parameters:
其他 –
QNdefRecord- Return type:
布尔
如果此NDEF记录不等于
other,则返回true;否则返回false。- __eq__(other)¶
- Parameters:
其他 –
QNdefRecord- Return type:
布尔
如果
other和此 NDEF 记录相同,则返回true。否则返回false。- payload()¶
- Return type:
返回NDEF记录的有效载荷。
另请参阅
- setId(id)¶
- Parameters:
id –
QByteArray
设置NDEF记录的ID为
id。另请参阅
- setPayload(payload)¶
- Parameters:
payload –
QByteArray
将NDEF记录的有效负载设置为
payload。另请参阅
- setType(type)¶
- Parameters:
类型 –
QByteArray
设置NDEF记录的类型为
type。另请参阅
- setTypeNameFormat(typeNameFormat)¶
- Parameters:
typeNameFormat –
TypeNameFormat
设置NDEF记录的类型名称格式为
typeNameFormat。另请参阅
- type()¶
- Return type:
返回NDEF记录的类型。
另请参阅
- typeNameFormat()¶
- Return type:
返回NDEF记录的类型名称格式。
另请参阅