【CXX-Qt】4.5 Traits
CXX-Qt 使用多个 trait 将其行为和支持的功能清晰地编码到 Rust 的类型系统中。
其中一些 trait 在 #[cxx_qt::bridge] 中使用特殊语法,类似于 CXX 中的显式 shim trait 实现。根据 trait 的不同,这要么告诉 CXX-Qt 它应该自动实现该 trait,要么告诉它应该使用现有的 trait 实现进行代码生成。
impl UniquePtr<A> {} // 显式 CXX trait 实现,为 A 实现 UniquePtr
impl cxx_qt::Trait for A {} // 显式 CXX-Qt trait 实现,为 A 实现 Trait
有关更多文档,请参阅各个 trait 的文档:
-
CxxQtType - 用于访问 QObject 的 Rust 实现的 trait
- 该 trait 会自动为 extern “RustQt” 块中的任何 #[qobject] 类型实现。
-
Constructor - 自定义构造函数
-
Initialize - 在对象构造时执行 Rust 代码
-
Threading - 标记 trait,指示是否应启用 CXX-Qt 线程支持