Repolode
slint-ui

slint-ui/slint

Slint 是一个声明式 GUI 工具包,用于在 Rust、C++、JavaScript 或 Python 应用中构建原生用户界面。

Star
24,241
Fork
1,038
未关闭 Issue
749
最近提交
3小时前

这是什么?

Slint 允许开发者用自带的 `.slint` 声明式标记语言编写一次界面,再与 Rust、C++、JavaScript 或 Python 编写的业务逻辑相连接。`.slint` 文件会提前编译为原生代码,适用于嵌入式设备、桌面和移动平台,也提供 WebAssembly 网页演示。

该工具包将界面设计与应用逻辑分离,设计师和开发者可以并行工作。渲染后端包括 OpenGL ES 2.0(femtovg)、Skia 以及纯 CPU 的 software 渲染器,安装了 Qt 时还可使用 Qt 样式。工具链包括提供自动补全和实时预览的 LSP 服务器、Visual Studio Code 扩展、支持自动重载的 `slint-viewer` 命令行工具,以及 Figma 转 Slint 插件。

Slint 提供多种授权方式:专有桌面、移动或网页应用可使用免版税许可,开源项目可使用 GPLv3,专有嵌入式应用则需要商业许可。

核心功能

  • 01使用声明式 `.slint` 标记语言描述布局、属性和数据绑定。
  • 02支持 Rust、C++、JavaScript 和 Python 的语言绑定。
  • 03提前编译为原生代码。
  • 04提供 femtovg(OpenGL ES 2.0)、Skia 和纯 CPU 的 software 三种渲染后端。
  • 05提供实时预览、LSP 服务器和 VS Code 扩展,方便编辑 `.slint` 文件。
  • 06提供 Figma 转 Slint 插件,便于导入设计稿。

适用场景

  • 为 Rust 或 C++ 应用开发桌面或移动端图形界面。
  • 为 Raspberry Pi 等嵌入式设备制作用户界面。
  • 将界面编译为 WebAssembly 并在网页中运行。
  • 让设计师与开发者分别负责界面和业务逻辑。

快速上手

  1. 1

    在 SlintPad 中打开 Hello World 示例,无需安装

  2. 2

    选择一种语言并使用其入门模板,例如 Rust 模板

  3. 3

    按照对应语言的 README 安装 Slint 包

使用前须知

  • 在闭源应用中使用 Slint 需要免版税许可证或商业许可证,GPLv3 选项仅适用于开源应用。
  • JavaScript/NodeJS 和 Python 绑定标注为测试版(Beta)。

标签

常见问题

slint 是什么?
Slint 是一个声明式 GUI 工具包,用于在 Rust、C++、JavaScript 或 Python 应用中构建原生用户界面。 Slint 允许开发者用自带的 `.slint` 声明式标记语言编写一次界面,再与 Rust、C++、JavaScript 或 Python 编写的业务逻辑相连接。`.slint` 文件会提前编译为原生代码,适用于嵌入式设备、桌面和移动平台,也提供 WebAssembly 网页演示。
slint 可以免费使用吗?用的什么许可证?
slint 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
slint 还在维护吗?
活跃维护中。slint 最近一次提交是在 2026年10月21日。
slint 适合用来做什么?
为 Rust 或 C++ 应用开发桌面或移动端图形界面。 为 Raspberry Pi 等嵌入式设备制作用户界面。 将界面编译为 WebAssembly 并在网页中运行。 让设计师与开发者分别负责界面和业务逻辑。
slint 怎么安装和运行?
在 SlintPad 中打开 Hello World 示例,无需安装 选择一种语言并使用其入门模板,例如 Rust 模板 按照对应语言的 README 安装 Slint 包
在哪里获取 slint?
源代码和安装说明在 GitHub 上:https://github.com/slint-ui/slint

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目