• 2024-01-28Slint-UI移植到任意平台-概述-Rust
    前言本文仅为笔者记忆,个人经验写着玩,目前1.3.2版本。注:本文尚未完成。注:本文尚未完成。注:本文尚未完成。本人目前想要移植一种贴近前端技术的GUI到裸机上,但是裸机不支持UNIX环境,所以绝大部分框架都用不了(如Flutter/skia等),最后发现Slint最合适。Slint有三种渲染器{femtovg/Op
  • 2024-01-14Slint 文件编辑不能在 Rust 中及时索引
    这个现象在编写VSCode中编写SlintDSL代码时非常常见.表现为修改Slint代码,如:导出新的component/global;为component增加/修改方法,属性,回调;在global中修改结构体属性,修改回调;随后前往Rust的nativecode中试图调用这些方法时,Rust的代码提示无
  • 2023-11-05Slint 中的元素定位 (Positioning) 和布局 (Layout)
    基本逻辑Slint当中进行元素定位的基本逻辑是这样的:所有的可见元素都需要放置在窗口(window)中,每个元素都有x和y属性,这两个属性表示当前元素相对父元素的位置偏移。Slint计算某个元素在整个窗口中的位置时,会按照层级关系,一级一级将这个x和y的值进行累加,最终得到元素
  • 2023-11-05Slint 的两个核心 macro
    slint::include_modules!要使用这个库,首先需要在Cargo.toml中完成:[package]部分增加build="build.rs"[build-dependencies]部分增加slint-build="1.1.1"[1]随后,应该在与Cargo.toml同级的目录创建build.rs,其内容为(示例):fnmain(){slint_build::compile("ui/appw