Skip to content

Rust 与 C++ 的实时预览

在 Rust 或 C++ 中构建 Slint 应用程序时, .slint 文件通常会预先编译为原生代码。 这意味着每次 UI 更改都需要重新编译并重启应用程序。

实时预览功能让你正在运行的应用程序监视磁盘上的 .slint 文件, 并在它们更改时自动重新加载。 你的业务逻辑保持连接,因此你无需重启即可迭代 UI。

它与 VS Code、

Slint LSP 和 Slint Viewer 中的实时预览相同。 同一个解释器加载并渲染你的 .slint 文件,因此 UI 的外观和行为都相同。 不同之处在于环境: 这里的预览在你的应用程序内部运行,并与你的业务逻辑相连。

启用实时预览后, Slint 编译器不再提前编译你的组件,而是生成一个在运行时使用 Slint 解释器的接口。 每当 .slint 文件更改时,它都会从磁盘重新加载这些文件。 应用程序在重新加载期间保持运行, 属性、回调和模型都会保留。 如果某个 .slint 文件存在语法错误,则之前的版本会保持在屏幕上,直到错误被修复。

如果你更改了原生代码所交互的 Slint API,例如重命名从 Rust 或 C++ 使用的属性或回调,应用程序可能会终止。 请重新编译并重启以应用这些更改。

此功能仅用于开发。 不要在启用实时预览的情况下发布正式版本。

实时预览需要 live-preview Cargo 特性以及 SLINT_LIVE_PREVIEW 环境变量。

在构建应用程序时同时使用两者:

Terminal window
SLINT_LIVE_PREVIEW=1 cargo run --features slint/live-preview
bash

不要将 live-preview 添加到 Cargo.toml 的 [features] 部分。 请改用命令行上的 --features 标志, 以便它不会出现在你的常规构建中。

更多详情请参阅 live-preview 特性文档。


© 2026 SixtyFPS GmbH