近来,Slint 发布了 1.3 版别,引进许多增强开发体会的新功用和改善。来看一下 Slint 的首要更新点吧:
为 Windows 和 Mac 引进新的默认原生款式
新版别Slint中 更改默认风格款式,以供给更实在的 Windows 和 macOS 界面。Windows
上选用 Fluent
风格款式,Mac
上则选用Cupertino
风格款式。关于 Linux,Slint 持续运用可用的 Qt,这样能够保证始终如一的“原生”Linux 感觉。
Mac 上的Cupertino
风格:
Windows 上的 Fluent
风格:
根据 napi-rs 的 NodeJS API
能够运用napi-rs
crate 进行 NodeJS 集成。Slint 现在与一切最新的 NodeJS 版别兼容,并答应集成到 NodeJS 事情循环中。假如你在寻觅 Electron 的代替计划的开发人员,并想在 JavaScript 中创立轻量级 GUI 运用程序,能够考虑运用 Slint。
假如你想要探究了解更多关于在JavaScript 中的 运用 Slint 的知识,能够参阅 Slint 官方的JavaScript 文档和教程。
启动 Android 版移植开发作业
Slint 开发团队已开端测验将 Slint 引进 Android,不过目前它还没有准备好投入生产(笔者猜想是计划还不够成熟,既然已经迈出这一步,强烈等候一下),喜爱折腾的同学能够按官方教程尝下鲜。
在 Android 上运用 Slint 构建 GUI ,需求借助android-activity
crate 的i-slint-backend-android-activity
。
PS: 这是一个内部 crate,不遵从 semver 版别标准。
能够检查运用文档: Android后端的文档 和 SlintAndroid
简化导入组件库的步骤
现在能够轻松地将组件库导入到代码库中。新版别附带了支撑从外部库导入组件的基础设施。库查找路径在构建脚本中或经过环境变量定义。
以下比如演示了将代码从foo
库导入FooWidget
import { FooWidget } from "@foo";
更多改善
Slint 1.3
版别包含许多过错修正和增强功用:
- Slint VSCode 插件优化了重构功用;
- 改善了与
rust-analyzer
分析器的slint!
宏集成; -
TouchArea
现在能够接收翻滚事情,GridLayout
能够有不同的水平或垂直距离值,更多缓动曲线(easing curves)可用于自定义动画,答应一个新组合框预览选择款式;
Slint 1.3.0 版别晋级日志
General
- 最低 Rust 版别是 1.70。
- 环境
SLINT_DEBUG_PERFORMANCE
变量现在也与软件烘托器兼容。 - 修正了省掉或对齐的多行文本中的文本烘托和光标定位问题。
- 更改了默认款式,Windows 上默认
fluent
,macOS 上默认为cupertino
。 - LinuxKMS 后端:添加了对绝对运动指针事情的支撑,修正了对缩放屏幕上接触输入的支撑,以及改善了 EGL 烘托的编码器/CRTC 处理。
- Skia 烘托器/winit 后端:当 GPU 加速不可用时,回退到 Skia 软件烘托。
- 修正了在同一回调中更改模型数据后拜访回调中的模型数据不会反映更新的过错。(#3740)
Slint
- 向
InputType
枚举添加了Number
Decimal
变体。 -
GridLayout
组件新增spacing-horizontal
和spacing-vertical
属性. - 修正了结构数组数组中的转化 (#3574)。
- 添加
scroll-event
回调到TouchArea
. - 添加了对函数的
protected
支撑。 -
ComboBox
能够经过翻滚事情更改选择。 -
SpinBox
能够经过翻滚事情添加和削减值。 - 添加
focus-changed-event
回调到FocusScope
. - 添加了许多新的缓动曲线(easing curves)。
- 添加了
Spinner
。
JavaScript
- 移植到napi-rs。
- 更新API。
Rust
- 改善了 rust-analyzer 对
slint!
宏的支撑。 - 添加
source_model()
到MapModel
,FilterModel
,SortModel
,ReverseModel
以拜访内部模型。
C
- 消除了生成代码中对 C 反常的需求。
- 添加了仅构建 Slint 编译器或运用外部编译器的功用。
- ESP-IDF:在交流帧缓冲区之前等候垂直同步。
- 修正了从 Slint 拜访空模型时产生的溃散。
LSP
- 添加了“Wrap元素”、“Remove元素”、“Repeat元素”和“Make conditional”代码操作。
- 在预览中添加了带有款式选择器的工具栏。
参阅
- Slint晋级公告:slint.dev/blog/slint-…
- Slint晋级日志:github.com/slint-ui/sl…
- SlintDocs:slint.dev/docs
- Slint语言文档:slint.dev/releases/1.…
- SlintRust文档:slint.dev/releases/1.…