Slint 的两个核心 macro

slint::include_modules!

要使用这个库,首先需要在 Cargo.toml 中完成:

  1. [package] 部分增加 build="build.rs"
  2. [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) 组件。


  1. 具体版本需要根据当前 最新的发布信息 决定。 ↩︎

posted @ 2023-11-05 17:35  那阵东风  阅读(239)  评论(0编辑  收藏  举报