slint – 一款轻量级的声明式 GUI 工具包

Slint 是一款轻量级的声明式 GUI 工具包,让你使用 Rust、C++ 或 JavaScript 编写代码,创建原生应用,并提供一致的用户体验。无论你偏好哪种语言,Slint 都能满足你的需求。专注于提供最核心的 UI 元素和灵活的定制能力,让你可以根据项目需求,自由构建个性化的用户界面。

特性

Slint 是一个声明式 GUI 工具包,用于在 Rust、C++ 或 JavaScript 中构建本地用户界面,适用于桌面和嵌入式应用程序。Slint 的名称来源于其设计目标:

  • 可扩展性:支持响应式设计、跨平台使用和多种编程语言。
  • 轻量化:占用资源少,提供流畅的用户体验。
  • 直观性:为设计师和开发者提供一致且易用的工具和 API。
  • 本地化:无论平台如何,构建出与本地应用一致的用户界面,编译为机器码,并灵活利用操作系统 API 和硬件资源。

安装

使用 C++ 模板创建 Slint

在使用模板之前,你需要满足以下条件:

  • 安装 C++ 编译器,该编译器需支持 C++ 20 标准。
  • 安装 CMake 3.21 或更高版本。

获取模板:

  1. 使用 Git 克隆模板仓库:

    git clone https://github.com/slint-ui/slint-cpp-template memory
  2. 进入克隆下来的目录:

    cd memory

配置项目:

该项目使用 CMakeLists.txt 文件进行配置。其中,一行代码 add_executable(my_application src/main.cpp) 指定了 src/main.cpp 为程序的主 C++ 文件。

替换主程序代码:

请将 src/main.cpp 文件的内容替换为以下代码:

int main(int argc, char **argv)
{
  auto main_window = MainWindow::create();
  main_window->run();
}

配置 Slint UI 文件:

同样在 CMakeLists.txt 文件中,slint_target_sources(my_application ui/appwindow.slint) 这行代码是 Slint 的一个函数,用于将 ui/appwindow.slint 文件添加到编译目标中。

请将 ui/appwindow.slint 文件的内容替换为以下代码:

export component MainWindow inherits Window {
  Text {
    text: "hello world";
    color: green;
  }
}

生成项目(CMake 编译):

cmake -B build

提示:

使用 CMake 进行配置时,FetchContent 模块会通过 git 拉取 Slint 的源代码。首次编译时,该过程可能需要一些时间,因为 CMake 需要构建 Slint 运行时和编译器。

编译项目:

cmake --build build

运行程序:

在 Linux 或 macOS 上运行应用程序可执行文件:

./build/my_application

在 Windows 上运行:

build\my_application.exe

运行后,将会打开一个窗口,显示绿色字体的 “Hello World” 文字。

Windows 用户提示:

如果你是在 Windows 机器上进行操作,你可以使用以下命令在每个步骤运行应用程序:

my_application

注意: 上述最后一个提示仅适用于 Windows 用户,用于在每个步骤方便地运行应用程序,并不是标准的运行方式。

file

官方链接

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注