PySide6.QtNfc.QNearFieldTarget¶
- class QNearFieldTarget¶
QNearFieldTarget类提供了一个与目标设备通信的接口。More_…概要¶
方法¶
def
__init__()def
accessMethods()def
disconnect()def
hasNdefMessage()def
sendCommand()def
type()def
uid()
信号¶
def
disconnected()def
error()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QNearFieldTarget提供了一个用于与NFC目标设备通信的通用接口。此类支持NFC论坛设备和NFC论坛标签目标。所有特定目标的类都是此类的子类。type()函数可用于获取目标设备的类型。uid()函数返回目标的唯一标识符。从accessMethods()函数返回的AccessMethods标志可以测试以确定目标支持哪些访问方法。如果目标支持
NdefAccess,可以调用hasNdefMessage()来测试目标是否存储了 NDEF 消息,readNdefMessages()和writeNdefMessages()函数可以用来获取和设置 NDEF 消息。如果目标支持
TagTypeSpecificAccess,可以使用sendCommand()向目标发送单个专有命令并获取响应。- class Type¶
此枚举描述了目标被检测为的标签类型。
常量
描述
QNearFieldTarget.ProprietaryTag
一个未识别的专有目标标签。
QNearFieldTarget.NfcTagType1
一个NFC标签类型1目标。
QNearFieldTarget.NfcTagType2
一个NFC标签类型2目标。
QNearFieldTarget.NfcTagType3
一个NFC标签类型3目标。
QNearFieldTarget.NfcTagType4
一个NFC标签类型4目标。如果NfcTagType4无法通过下面的NfcTagType4A或NfcTagType4B进一步细化,则使用此值。
QNearFieldTarget.NfcTagType4A
基于ISO/IEC 14443-3A的NFC标签类型4目标。
QNearFieldTarget.NfcTagType4B
基于ISO/IEC 14443-3B的NFC标签类型4目标。
QNearFieldTarget.MifareTag
一个Mifare目标。
- class AccessMethod¶
(继承自
enum.Flag) 此枚举描述了近场目标支持的访问方法。常量
描述
QNearFieldTarget.UnknownAccess
目标支持未知的访问类型。
QNearFieldTarget.NdefAccess
目标支持使用
readNdefMessages()和writeNdefMessages()读取和写入NDEF消息。QNearFieldTarget.TagTypeSpecificAccess
目标支持使用
sendCommand()发送特定标签类型的命令。QNearFieldTarget.AnyAccess
目标支持任何已知的访问类型。
- class Error¶
此枚举描述了近场目标报告的错误代码。
常量
描述
QNearFieldTarget.NoError
没有发生错误。
QNearFieldTarget.UnknownError
发生了一个未识别的错误。
QNearFieldTarget.UnsupportedError
此近场目标不支持所请求的操作。
QNearFieldTarget.TargetOutOfRangeError
目标不再在范围内。
QNearFieldTarget.NoResponseError
目标没有响应。
QNearFieldTarget.ChecksumMismatchError
校验和检测到响应已损坏。
QNearFieldTarget.InvalidParametersError
传递了无效的参数给标签类型特定的函数。
QNearFieldTarget.ConnectionError
连接目标失败。
QNearFieldTarget.NdefReadError
未能从目标读取NDEF消息。
QNearFieldTarget.NdefWriteError
无法将NDEF消息写入目标。
QNearFieldTarget.CommandError
未能向目标发送命令。
QNearFieldTarget.TimeoutError
请求无法在
waitForRequestCompleted()中指定的时间内完成。QNearFieldTarget.UnsupportedTargetError
使用的目标不受支持。例如,当客户端应用程序缺少所需的权限和/或隐私设置时,可能会发生这种情况。
使用
parent构造一个新的近场目标。- accessMethods()¶
- Return type:
AccessMethod的组合
返回此近场目标支持的访问方法。
- disconnect()¶
- Return type:
布尔
关闭与目标的连接,以便从不同的实例与目标进行通信。当
QNearFieldTarget被销毁时,连接也会关闭。为了处理命令或读取/写入NDEF消息,会(重新)创建与目标设备的连接。仅当成功关闭现有连接时返回
true;否则返回false。- disconnected()¶
当近场目标移出接近范围时,会发出此信号。
当处理请求
id时发生错误时,会发出此信号。error参数描述了错误。- hasNdefMessage()¶
- Return type:
布尔
如果近场目标上至少存储了一条NDEF消息,则返回
true;否则返回false。- maxCommandLength()¶
- Return type:
整数
返回可以使用
sendCommand发送的最大字节数。如果目标不支持发送特定类型的命令,则返回0。另请参阅
- ndefMessageRead(message)¶
- Parameters:
消息 –
QNdefMessage
当从目标读取到完整的NDEF
message时,会发出此信号。另请参阅
开始读取存储在近场目标上的NDEF消息。返回一个请求ID,可用于跟踪请求的完成状态。如果目标不支持读取NDEF消息,将返回一个无效的请求ID。
每个NDEF消息都会发出一个
ndefMessageRead()信号。当所有NDEF消息都被读取后,requestCompleted()信号将会发出。如果发生错误,error()信号将会发出。注意
尝试从处于NFC论坛定义的INITIALIZED状态的标签读取NDEF消息将会失败,并返回
NdefReadError,因为该标签已格式化为支持NDEF但尚未包含消息。当请求
id完成时,会发出此信号。另请参阅
返回请求
id的解码响应。如果请求未知或尚未完成,则返回无效的QVariant。- sendCommand(command)¶
- Parameters:
命令 –
QByteArray- Return type:
将
command发送到近场目标。返回一个请求ID,可用于跟踪请求的完成状态。如果目标不支持发送特定类型的标签命令,将返回一个无效的请求ID。在请求成功完成时,将发出
requestCompleted()信号;否则将发出error()信号。一旦请求成功完成,可以从
requestResponse()函数中获取响应。此请求的响应将是一个QByteArray。返回此近场目标的标签类型。
- uid()¶
- Return type:
返回近场目标的UID。
等待请求
id完成,最多等待msecs毫秒。如果请求成功完成并且发出了requestCompeted()信号,则返回true;否则返回false。将
messages中的NDEF消息写入目标。返回一个请求ID,可用于跟踪请求的完成状态。如果目标不支持读取NDEF消息,将返回一个无效的请求ID。当写操作成功完成时,将发出
requestCompleted()信号;否则将发出error()信号。- class RequestId¶
一个请求ID句柄。More_…
概要¶
方法¶
def
__init__()def
isValid()def
__ne__()def
__lt__()def
__eq__()def
refCount()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
- __init__()¶
构造一个新的无效请求ID句柄。
- __init__(other)
- Parameters:
其他 –
RequestId
构造一个新的请求ID句柄,该句柄是
other的副本。- isValid()¶
- Return type:
布尔
如果这是一个有效的请求ID,则返回
true;否则返回false。- refCount()¶
- Return type:
整数
返回请求ID的当前引用计数。