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) 组件。