Clat GUI
高性能、跨平台的Rust桌面端GUI框架。
特点
- 高性能渲染:基于wgpu实现的现代图形渲染管道
- 跨平台兼容:支持Windows、macOS和Linux等主流桌面平台
- 简洁易用的API:提供直观、符合Rust习惯的API接口
- 灵活的布局系统:支持水平布局、垂直布局和网格布局
- 可定制的组件:提供基础UI组件,并支持自定义组件开发
- 响应式设计:自动适应窗口大小变化
安装
将以下内容添加到你的Cargo.toml文件中:
[]
= "0.1.0"
快速开始
以下是一个简单的示例,展示如何创建一个基本窗口:
use Application;
use Result;
基本组件
按钮
use Button;
// 创建按钮
let mut button = new;
// 设置点击事件处理
button.set_on_click;
标签
use Label;
// 创建标签
let mut label = new;
// 设置文本颜色
label.set_color; // 红色文本
// 设置字体大小
label.set_font_size;
布局系统
水平布局
use ;
use HorizontalLayout;
// 创建布局管理器
let mut layout_manager = new;
// 生成容器ID
let container_id = layout_manager.generate_id;
// 创建水平布局容器
let mut horizontal_layout = new; // 间距10,内边距20
// 注册布局策略
layout_manager.register_strategy;
// 添加子组件
layout_manager.add_child; // 权重1.0
layout_manager.add_child; // 权重2.0
// 计算布局
let constraints = default;
layout_manager.calculate_layout;
垂直布局
use VerticalLayout;
// 创建垂直布局容器
let mut vertical_layout = new; // 间距10,内边距20
// 注册布局策略并添加子组件(与水平布局类似)
网格布局
use GridLayout;
// 创建网格布局容器
let mut grid_layout = new; // 3x3网格,单元格大小100x50,间距5,内边距10
// 设置单元格跨度
grid_layout.set_cell_span; // 第0行第0列,跨越1行2列
渲染系统
use Renderer;
// 创建渲染器(通常由Application内部管理)
let renderer = new;
// 开始渲染帧
let = renderer.begin_frame?;
// 创建渲染通道
let mut render_pass = renderer.create_render_pass;
// 绘制基本图形
renderer.draw_rect;
renderer.draw_circle;
// 结束渲染帧
renderer.end_frame;
开发说明
构建项目
运行示例
运行测试
许可证
本项目采用MIT许可证,详情请查看LICENSE文件。
贡献
欢迎提交问题和Pull Request来帮助改进这个项目!