CXX-Qt - Rust与Qt之间的安全互操作
CXX-Qt提供了一种安全机制,用于在Qt代码和Rust代码之间建立桥梁,这与典型的Rust Qt绑定不同。
我们认识到Qt代码和Rust代码有不同的习惯用法,因此不能直接从一种语言包装到另一种语言。
我们使用CXX在两者之间建立桥梁,而不是一对一的绑定,这样可以编写符合习惯的Qt代码和符合习惯的Rust代码。
我们认为这比典型的绑定更强大,因为它允许我们在Qt和Rust之间提供安全的API和安全的多线程。
为了帮助Qt和Rust代码的集成,我们为Rust提供了常见的Qt类型,这些类型可以跨桥传递,并提供表达常见Qt习惯用法的方式。
通过使用宏和代码生成,开发者可以使用CXX-Qt宏注解描述一个QObject。然后CXX-Qt生成对象的C++表示,并使用宏扩展来定义CXX桥,以实现C++和Rust之间的互操作。
CXX-Qt概念概述
如果你是CXX-Qt的新手,我们建议你阅读本内容。
要获取有关CXX-Qt中可用功能的详细信息,请参阅桥接章节。如果你对CXX-Qt的概念有更深入的兴趣,可以查看概念章节,该章节详细解释了CXX-Qt引入的概念。
📝 注意:CXX-Qt在CI上测试了Linux、Windows和macOS(均在x86_64上)。wasm32可以编译,但不在CI上测试。它应该在其他Qt和Rust都支持的平台上工作,但这些平台没有定期测试。