Rust 原生 GUI 工具包 Slint 1.1 发布,新增免版税许可证


Slint 1.1 的发布,这是 1.0 里程碑后的第一个重要功能更新。

除了新功能,Slint 1.1 带来了新的免版税开源许可证:之前 Slint 遵循 GPLv3 和专有商业许可,现在有了新的免版税许可选项。

此外,Slint 的示例和教程现在已获得 MIT 许可,同时该项目还采用了简化的贡献值协议( CLA )。

新功能亮点

翻译

引入了基础设施来本地化您的应用程序。在 Slint 代码中使用新的 @tr() 宏来标记要翻译的字符串。然后使用 gettext 框架提取并处理这些字符串。

Text { text: @tr("Hello, World"); }

增强的流畅风格和新的小部件

Slint 1.1 调整了 fluent 小部件样式,以符合 Microsoft 的现代 Fluent2 设计原则。集合中添加了两个新的小部件, Switch  ProgressIndicator 

新的小部件库现在展示了新调整的 Fluent2 风格,以及两个新的小部件:

AccessKit 的辅助功能

在 Slint 的早期版本中,要使用屏幕阅读器等辅助技术,需要安装 Qt。

现在有了新的 AccessKit 集成,所有桌面平台上均可启用辅助功能支持。 AccessKit 是一个丰富的跨平台库,提供了对操作系统可访问性 API 的抽象。

 

OpenGL集成

此版本中引入了 API,允许将 3D OpenGL 渲染直接集成到 Slint 场景中。

Slint 语言中的枚举声明

 .slint 代码中声明枚举, export 将它们声明为 Rust 或 C++,并享受重构时增加的类型安全性。

enum Color { red, green, blue }

较小但值得注意的功能和错误修复

  • 启用新的 renderer-winit-skia-vulkan 功能以使用 Vulkan 渲染到屏幕。
  • 使用 absolute-position 属性可查询 Slint 中任何元素的窗口绝对坐标。
  • 使用 spawn_local()在 Slint 的事件循环中运行 Rust futures 。
  • 使用新的 mix  with-alpha  transparentize 颜色函数微调颜色。
  • 修复了对使用文本渲染 SVG 的支持。

有关所有更改的完整列表,请查看更改日志。

更宽松的许可证

  • 除了 GPLv3 和专有商业许可,此版本添加了新的免版税许可作为第三个选项,该许可证可免费用于构建桌面或 Web 应用程序,并消除了 Copyleft 许可证的限制。
  • 所有示例、教程中的示例代码等现在都可以在宽松的 MIT 许可证下使用。这可以在应用程序中自由复制、修改和使用代码,而不受任何 Copyleft 条款的限制。
  • 简化了 CLA 协议,所有贡献现在均在 MIT 无署名许可证下实现,没有版权限制。

 

发布公告:https://slint.dev/blog/slint-1.1-released


相關推薦

2023-04-05

nt/ Slint(最初称为"SixtyFPS")是一个 Rust 编写的综合性 UI 工具包,用于为桌面和嵌入式设备构建原生用户界面。其开发团队希望将 Slint 打造成下一代 GUI 工具包,因此从头开始构建项目时就考虑了可扩展性、包容性、工具性和跨

2023-11-13

Slint(最初称为 "SixtyFPS")是一个 Rust 编写的综合性 UI 工具包,用于为桌面和嵌入式设备构建原生用户界面。 近日,Slint 发布了 1.3 版本,引入许多增强开发体验的新功能和改进。 下载地址:https://github.com/slint-ui/slint/releases/

2022-05-05

模式 (immediate mode) GUI 库,采用 Rust 编写,可运行在 Web 和原生应用中。 更新亮点 在 egui 中嵌入 3D 渲染 在明亮模式下提供更好的文本对比度 新增 egui_extras::Table 添加Plot::allow_scroll, Plot::allow_zoom 不再影响滚动 (

2022-12-13

模式 (immediate mode) GUI 库,采用 Rust 编写,可运行在 Web 和原生应用中。 更新亮点 支持 thin space 添加与 AccessKit 的可选集成,以实现平台可访问性 APIs (#2294) 破坏性变更:对于 overlapping 的交互式小组件,只有

2023-09-18

次涉及的新条款似乎禁止了流行的基于云的多人游戏开发工具包 SpatialOS。 虽然 Unity 最终与 SpatialOS 制造商 Improbable 解决了问题,但开发社区担心未来的 ToS 变更会影响他们的项目是有道理的。为了平息事态,Unity 宣布了一项新

2023-09-29

模式 (immediate mode) GUI 库,采用 Rust 编写,可运行在 Web 和原生应用中。 此版本包含一个简单且强大的图像 API: // Load from web: ui.image("https://www.example.com/some_image.png"); // Include image in the binary using `include_bytes`: ui.image(egui::include_

2022-10-07

Rust 编写的大型 COSMIC 桌面项目,他们决定不再使用 GTK 工具包,而是使用 Iced-Rs 作为替代,后者是原生 Rust 跨平台图形工具包。 参与 COSMIC 项目的一位 System76 工程师在 Reddit 上评论了 COSMIC 使用 Iced 工具包的情况:

2022-11-03

ellarium 是一款免费开源 GPL(自由软件基金会 GNU 通用公共许可证)软件,它使用 OpenGL 图形接口对星空进行实时渲染。软件可以模拟肉眼、双筒望远镜和小型天文等观察天空,根据观测者所处时间和位置,计算出天空中太阳、月

2023-07-12

简介 自去年 12 月份发布 Linux Lab v1.1 后,终于迎来了 v1.2 正式版,同时也迎来了 Cloud Lab v0.9-rc2,两者需同步升级配合使用。 发布仓库 Gitee: https://gitee.com/tinylab/linux-lab Github: https://github.com/tinyclub/linux-lab 用户手册

2023-02-07

Masonry 是一个 Rust GUI 框架,其作者最近刚发布了 0.1 版本,并提出了对 Rust UI 的愿景,他称之为"Fearless GUI",具备以下特点: 可迭代 具备灵活性 可测试 可观测 可重用 最新发布的 Masonry 0.1 旨在实现上述目标,目前

2022-10-30

没有公开评论关于弃用 JPEG-XL 的理由,等 Chrome 110 具体的发布公告或许会有相关的解释

2022-10-29

定时任务创建),不再计数手动快照(用户手动创建) 许可证授权记录新增“授权方式”列 物理机基本信息详情页新增“SN号”和“IPMI地址”参数 三层网络IP统计详情页“IPv4地址”列支持排序 支持筛选无标签资源 首页

2022-09-10

动绑定LNI接口函数。 什么是LNI 更新了编译器的算法,原生支持#,@,+三种关键符,可以互相替换,支持C(标准洛书)/Python(河图洛书)两种风格的源代码。 //标准洛书,通过花括号{}来分层 +加载 开始 +导入 设备/灯 +方法 开

2023-08-24

用发布机 13. 重构 JumpServer Client,支持可视化配置和拉起原生客户端工具(升级版本后需要重新安装新版 Client 客户端) JumpServer v3.6.0 版本重构了 JumpServer Client。从该版本之后,JumpServer Client 就拥有了自己的显示界面,通过本