2 个版本
0.0.3 | 2023 年 2 月 25 日 |
---|---|
0.0.2 | 2023 年 2 月 18 日 |
0.0.1 |
|
#2 in #ux
56KB
1K SLoC
haussmann
为任何 Rust 应用程序或 GUI 库集成高度可定制的控件和主题
目的
该项目本身不是一个 GUI 库,但它提供了高度可定制的控件和主题,可以集成到 GUI 库中或直接使用系统 API(如 windows-rs、x11rb 等)的应用程序中。此外,该软件包包含将控件转换为形状以及在可绘制表面放置和定位控件的工具。可以在可绘制表面上实现 Drawer
特性,以方便在该表面上绘制控件。
使用方法
该项目正在开发中,目前没有使用说明。
lib.rs
:
为任何 Rust 应用程序或 GUI 库集成高度可定制的控件和主题。
简介
除了解释如何使用此软件包外,本文档还旨在帮助理解项目的组织结构和函数的实际工作原理。教程、示例等内容可以在 仓库(GitHub) 中找到。
然而,当示例有助于理解项目项的工作原理时,本文档中会包含一些示例。有时,一个好的示例比一串文档说明更有帮助。
本文档面向希望为项目做出贡献的人,也面向只想理解某些概念的人。
目的
该项目本身不是一个 GUI 库,但它提供了高度可定制的控件和主题,可以集成到 GUI 库中或直接使用系统 API(如 windows-rs、x11rb 等)的应用程序中。此外,该软件包包含将控件转换为形状以及在可绘制表面上放置和定位控件的工具。可以在可绘制表面上实现 Drawer
特性,以方便在该表面上绘制控件。
组织结构
该软件包按不同的部分组织
- 控件(位于 [
mod@widgets
]) - 控制器(位于
controllers
),它们也是控件,但不是设计来绘制的,而是为了包装控件并控制诸如事件等东西。 - 实用工具:简单结构,小部件参数...(位于
crate
) - 图形:绘图工具,对齐工具,形状...(位于
graphics
)
注意
该项目希望尽可能简单易用。确实,导入尽可能简化(嗯,这并不意味着所有元素都可以从crate中导入,但避免了重复,例如,将crate::widgets::Widget
替换为crate::Widget
等)并且小部件有不同的构造函数,以避免在未定义所有字段时填写所有字段(请查看小部件文档)。