Qt NFC
NFC API 可在支持 NFC 的设备之间建立连接。
目前,该 API 在Android、iOS以及使用Neardv0.14 或更高版本的Linux系统上均受支持。该模块还支持在 Linux、macOS 和 Windows 系统上有限地访问符合PC/SC规范的读卡器。
NFC 是一种短距离(小于 20 厘米)的无线技术,最大传输速率为 424 Kbps。当两台设备相互靠近时,NFC 非常适合传输小数据包。
该 NFC 模块提供了用于与 NFC Forum 标签和 NFC Forum 设备交互的 API。它能够检测目标和信号丢失,注册 NDEF 消息处理程序,在 NFC Forum 标签上读写 NDEF 消息,并发送针对特定标签的命令。
使用该模块
要使用 Qt 模块的 C++ API,需要将模块库链接到项目中,可直接链接或通过其他依赖项间接链接。包括CMake和qmake 在内的多种构建工具均对此提供了专门支持。
使用 CMake 构建
使用find_package() 命令在Qt6 包中定位所需的模块组件:
find_package(Qt6 REQUIRED COMPONENTS Nfc)
target_link_libraries(mytarget PRIVATE Qt6::Nfc)更多详细信息,请参阅“使用 CMake 构建”概述。
使用 qmake 构建
要配置模块以便使用 qmake 进行构建,请在项目的 .pro 文件中将该模块作为QT 变量的值添加:
QT += nfc文章与指南
日志记录类别
QtNfc 模块导出以下logging categories :
| 日志类别 | 描述 |
|---|---|
| Qt NFC.neard | 启用 Neard/Linux 实现的日志记录 |
示例
参考
安全注意事项
NFC 标签的内容不能被视为可信输入。应用开发人员有责任在使用数据之前对其进行验证。
URI
诸如QNdefNfcUriRecord::uri() 和QNdefNfcSmartPosterRecord::uri() 等函数会返回直接从标签内容解码的 URI。例如,在打开、加载或对返回的 URI 采取操作之前,应用程序可以验证其方案是否为应用程序预期接收的(例如,应为https ,而非file 或javascript )。
图标数据
诸如QNdefNfcIconRecord::data() 和QNdefNfcSmartPosterRecord::icon() 等函数会返回包含标签中嵌入的图标数据的原始字节数组。由于 MIME 类型和内容均由标签作者提供,因此实际字节内容可能与声明的类型不符。
应用程序应在解码后验证结果,而非直接假设数据有效。例如,将数据直接传递给 QImage 通常是安全的,因为它会处理验证工作。但是,如果手动处理数据或使用非 Qt 工具,建议进行额外的验证。
模块演变
Qt NFC列出了为 Qt 6 系列所做的模块 API 和功能方面的重大变更。
许可
Qt NFC Qt 由The Qt Company 提供商业许可。此外,它还提供自由软件许可。自 Qt 5.4 起,这些自由软件许可包括GNU 较少通用公共许可证(第 3 版)或GNU 通用公共许可证(第 2 版)。更多详细信息请参阅Qt 许可。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.