您的位置:首页 > IT > 正文

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

来源:OSCHINA     时间:2023-06-27 16:12:55

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 设计原则。集合中添加了两个新的小部件,SwitchProgressIndicator

新的小部件库现在展示了新调整的 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。 使用新的mixwith-alphatransparentize颜色函数微调颜色。 修复了对使用文本渲染 SVG 的支持。

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

更宽松的许可证

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

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

相关文章