-
extern “RustQt” - 将 Rust 类型暴露给 Qt,作为 QObject、Q_SIGNAL、Q_PROPERTY 等。
-
extern “C++Qt” - 将 Qt 功能和类型绑定到 Rust,例如 QObject、Q_SIGNAL 等。
-
共享类型 - 在 Rust 和 Qt 之间共享枚举,例如 Q_ENUM、Q_ENUM_NS 等。
-
属性 - 处理命名空间,为函数提供不同的名称。
-
Trait - 与 CXX-Qt QObject 相关的 trait。
#[cxx_qt::bridge] 宏的功能与 #[cxx::bridge] 非常相似。此宏需要写在 Rust 模块定义的上方。
然后,这个 Rust 模块将像普通的 CXX 桥接一样工作,同时还支持 CXX-Qt 添加的额外功能。有关如何描述语言边界的详细信息,请参阅 CXX 文档。
不要忘记在 `build.rs` 脚本中将 Rust 源文件添加到 `CxxQtBuilder` 中。有关说明,请参阅 [入门指南](https://docs.rs/cxx-qt/latest/cxx_qt/)。
#[cxx_qt::bridge] 宏支持其属性中的以下选项:
- namespace - 指定命名空间。