Protobuf Qt 核心类型模块

提供在 protobuf 中使用原生 Qt Core 类型的支持。 更多...

此模块处于 技术预览 状态。

此模块在 Qt 6.6 中引入。

详细描述

Qt::ProtobufQtCoreTypes 是一个库,其中预定义了 protobuf 消息,用于封装一组 Qt Core 类型。

支持的 Qt Core 类型列表

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. 在芬兰和/或世界各国/地区的 商标。所有其他商标均为其各自所有者的财产。