Slint 的两个核心 macro
slint::include_modules!
要使用这个库,首先需要在 Cargo.toml 中完成:
[package]部分增加build="build.rs"[build-dependencies]部分增加slint-build="1.1.1"[1]
随后,应该在与 Cargo.toml 同级的目录创建 build.rs,其内容为(示例):
fn main() {
slint_build::compile("ui/appwindow.slint").unwrap();
}
当我们在主 main.rs 文件中调用这个宏时,build.rs 会将 ui/appwindow.slint 设计文件编译成对应的 Rust 文件,并引入 main.rs 中进行编译。因此可以在 main() 函数体中使用这一设计文件定义的组件、窗体。
slint::slint!
与刚才的 slint::include_modules! 独立编译“外部”设计文件不同,slint::slint! 直接在 Rust 文件内部进行编译替换操作,也就是生成行内 (inline) 组件。

理解 Slint 中两个不同 macro 的用途
浙公网安备 33010602011771号