Qt Bridges 技术预览:面向 Rust 与 C# 开发者的 Qt Quick 界面

Qt Bridges 技术预览:面向 Rust 与 C# 开发者的 Qt Quick 界面

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

Qt Bridges 的 Rust 与 C# 桥接进入技术预览阶段。开发者可用 QML 构建界面,后端分别用 Rust 或 C# 编写,通过属性宏或特性标记暴露类型,QML 即可绑定属性、调用方法、响应信号并显示集合,无需手写胶水代码。该桥接并非完整 Qt API 绑定,网络和文件等仍用原生态库。技术预览核心功能已就绪,适合原型评估,API 和平台仍可能变动。另提供 Visual Studio 和 VS Code 扩展,计划 2027 年第一季度发布稳定版。

🔎

延伸解读

技术预览的定位与风险

Qt Bridges 进入技术预览阶段,意味着核心功能已就绪,适合原型和评估项目,但 API、支持平台和要求仍可能变化。稳定版计划于 2027 年第一季度发布,在此之前反馈对最终产品影响最大。开发者应避免在关键生产系统中依赖当前版本,并关注后续变更。

桥接的边界:专注 UI 连接

Qt Bridges 并非完整的 Qt API 绑定,它只负责将 Rust 或 C# 后端连接到 Qt Quick 界面。网络、文件 I/O 等仍需使用各自生态的库。这种设计降低了学习成本,但也意味着开发者不能期望通过桥接直接使用 Qt 的全部功能,需在架构上明确分工。

Rust 桥接的独特考量

Rust 桥接基于属性宏和 trait,将 QML 对象映射为 Rc<RefCell<T>>,因此借用规则会跨越边界生效。它与 CXX-Qt 共享基础,可共存。开发者需注意跨线程调用(如从 tokio 运行时)的支持,这为异步后端提供了灵活性,但也要求对 Rust 所有权模型有清晰理解。

C# 开发体验与工具支持

C# 桥接允许现有 .NET 代码保持不变,仅添加 Qt Quick 前端。Visual Studio 扩展提供项目模板和 QML IntelliSense,VS Code 扩展则支持项目发现、Qt 安装查找和实时预览。这些工具降低了入门门槛,但需注意 VS Code 扩展依赖 Qt Core 扩展,并推荐搭配 C# Dev Kit 使用。

❓

Q&A

Qt Bridges 是什么?它主要解决什么问题?

Qt Bridges 是一套桥接技术,允许开发者用 QML 和 Qt Quick 构建用户界面,而后端分别用 Rust 或 C# 编写。它旨在让现代 UI 开发更简单,支持所有桌面平台,并复用现有代码库,无需手写胶水代码或深入掌握 Qt 知识。

Qt Bridges 是完整的 Qt API 绑定吗?网络和文件操作怎么办?

不是。Qt Bridges 并非完整的 Qt API 绑定,它专注于将后端连接到 Qt Quick UI。对于网络、文件 I/O 等操作,开发者应继续使用各自生态系统的库(如 Rust 或 C# 的原生库)。

技术预览版意味着什么?现在可以用于生产环境吗?

技术预览版是介于 beta 和首个稳定版之间的阶段。核心功能已就绪,适合原型和评估项目,但 API、支持的平台和要求仍可能变化,因此不建议用于生产环境。反馈对最终稳定版有最大影响。

Qt Bridge for Rust 有哪些主要功能?

Qt Bridge for Rust 允许用惯用的 Rust 编写后端,无需 C++ 头文件、手动 FFI 或 Qt 经验。它基于属性宏和 trait,支持用 #[qobject] 暴露结构体,用 #[qproperty]、#[qslot]、#[qsignal] 定义属性、槽和信号;可绑定 Rust 集合到 QML 视图;可从 Rust 构建和操作 QML 对象树;支持跨线程调用方法(如从 tokio 运行时)。

Qt Bridge for C# 如何与现有 .NET 应用程序集成?

Qt Bridge for C# 面向希望添加现代跨平台 UI 而不重写应用的 .NET 团队。C# 代码保持不变,只需在其上添加 Qt Quick 前端。可以暴露 C# 对象到 QML,从 QML 读写绑定 C# 属性,调用 C# 方法并处理事件,以及将 QML 视图绑定到 C# 集合。

使用 Qt Bridge for C# 时有哪些开发工具支持?

提供 Visual Studio 扩展和 VS Code 扩展。Visual Studio 扩展(Windows)提供项目模板、自动引用 NuGet 包、QML 语言服务器支持(为 C# 类型提供 IntelliSense)。VS Code 扩展(全平台)支持项目发现、Qt 安装查找、QML 语言服务器和实时预览、调试配置,需配合 Qt Core 扩展,推荐 Qt QML 扩展和 C# Dev Kit。

Qt Bridges 的稳定版计划何时发布?

计划在 2027 年第一季度发布稳定版,届时将包含更多功能。

🏷️

标签

➡️

继续阅读