Slint 是一款轻量级的声明式 GUI 工具包,让你使用 Rust、C++ 或 JavaScript 编写代码,创建原生应用,并提供一致的用户体验。无论你偏好哪种语言,Slint 都能满足你的需求。专注于提供最核心的 UI 元素和灵活的定制能力,让你可以根据项目需求,自由构建个性化的用户界面。
特性
Slint 是一个声明式 GUI 工具包,用于在 Rust、C++ 或 JavaScript 中构建本地用户界面,适用于桌面和嵌入式应用程序。Slint 的名称来源于其设计目标:
- 可扩展性:支持响应式设计、跨平台使用和多种编程语言。
- 轻量化:占用资源少,提供流畅的用户体验。
- 直观性:为设计师和开发者提供一致且易用的工具和 API。
- 本地化:无论平台如何,构建出与本地应用一致的用户界面,编译为机器码,并灵活利用操作系统 API 和硬件资源。
安装
使用 C++ 模板创建 Slint
在使用模板之前,你需要满足以下条件:
- 安装 C++ 编译器,该编译器需支持 C++ 20 标准。
- 安装 CMake 3.21 或更高版本。
获取模板:
-
使用 Git 克隆模板仓库:
git clone https://github.com/slint-ui/slint-cpp-template memory
-
进入克隆下来的目录:
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 用户,用于在每个步骤方便地运行应用程序,并不是标准的运行方式。