Protobuf Qt 核心类型模块
提供在 protobuf 中使用原生 Qt Core 类型的支持。 更多...
此模块处于 技术预览 状态。
此模块在 Qt 6.6 中引入。
详细描述
Qt::ProtobufQtCoreTypes 是一个库,其中预定义了 protobuf 消息,用于封装一组 Qt Core 类型。
支持的 Qt Core 类型列表
- QByteArray
注意: 类型反映 bytes protobuf 类型。
- QChar
- QDate
- QTimeZone
- QDateTime
- QPoint
- QPointF
- QRect
- QRectF
- QSize
- QSizeF
- QString
注意: 类型反映 string protobuf 类型。
- QTime
- QUrl
- QUuid
- QVersionNumber
Qt Core 使用
要启用 Qt Core 类型支持,将 ProtobufQtCoreTypes 添加为 CMake 项目的依赖项
... find_package(Qt REQUIRED COMPONENTS Protobuf ProtobufQtCoreTypes) ... # After target creation target_link_libraries(${TARGET} PRIVATE Qt::ProtobufQtCoreTypes)
在序列化或反序列化使用 Qt Core 类型作为字段的消息之前,调用注册方法
// e.g. in main.cpp QtProtobuf::qRegisterProtobufQtCoreTypes(); ...
所有支持的消息都描述在一个特殊的 .proto 文件中,即 QtCore.proto,描述了 Qt Core 模块中的 Qt 类型。
您还可以使用该文件生成其他语言或框架的代码。
在您的接口 .proto 文件中导入所需的 Qt Core 类型模块。例如
syntax = "proto3"; package project.module.component; import "QtCore/QtCore.proto"; message QUrlMessage { QtCore.QUrl url = 1; }
Qt Protobuf 生成器检测由 ProtobufQtCoreTypes 包提供的 Qt Core 类型,并直接使用它们。这使您能够使用这些类型而无需额外的转换。
© 2024 The Qt Company Ltd. 本文档贡献包括各自的拥有者的版权。本提供的文档是根据自由软件基金会发布的 GNU 免费文档许可证版本 1.3 许可的。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰和/或世界各国/地区的 商标。所有其他商标均为其各自所有者的财产。