- 2024-08-22【从头写CAD】 主程序
近年来,rust出现了不少GUI库,如借用浏览器资源的TAURI,其它语言转化过来的gtk4-rs,以及原生的egui、Iced等等,多数不是太了解。无意间发现的Slint让我非常感兴趣。它既快又小,非常适合嵌入式开发,可用于为各种操作系统和处理器架构开发UI,包括Linux、macOS、Windows、WebAssemb
- 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