当前位置: 首页 > 工具软件 > Conrod > 使用案例 >

Conrod GUI库

陈胤
2023-12-01

Conrod 线条简介

一个易于使用、完全由Rust编写的2D的GUI库。

目前Rust并未给出官方的GUI库,但是社区已经有很多人跃跃欲试了,其中GitHub上千星的项目貌似就两个,其中就有本文的主角Conrod。不同于另一个很火的项目Azul,Conrod只一个轻量级的库,更加易于使用,学习成本较低。遗憾的是,官方Guide只更新了两小节,深入学习只能通过阅读源代码来完成。本文是Conrod官方README文件的翻译,也包括了官方指南的目录部分。等到指南的正文陆续更新之后,会尽量给大家带来更详尽的中文文档。

指南

  1. 什么是Conrod ?

  • 它是什么 ?

  • 如何使用 ?

  • Conrod是直接的还是保留的 ?

  • 原始组件

  • 通用组件

  • 一个简短的开场白

  • 额外说明(关于截图与视频)

  • 特性概览

  • 可用组件——Widget

  • 直接模式

  • “创建者”模式

开始 !

  • 安装Rust和Cargo

  • 运行Conrod示例

让我们创建一个图形界面

  • 创建一个基本窗口(使用 piston_window)

  • Conrod设置

  • 实例化组件Widget

  • Widget定位与布局

使用和自定义主题

  • 什么是主题Theme ?

  • 定制主题

  • 连载主题

设计自定义组件 (使用 Widget trait)

  • Widget trait

  • widget_style! 宏

  • builder_methods! 宏

  • 制作一个 Button 组件

定制图像和窗口后台

  • 后台的实现范例(使用 glium 和 glutin)

内部机制

  • Ui 的组件 Graph

  • Ui::set_widgets ——它是如何工作的 ?

频繁被问及的

这份指南仍处于编纂中。如果某个章节无法点击阅读,它可能尚未完成。

Crates模块

CrateDescription
conrod_coreThe fundamentals for any conrod project.
conrod_deriveProvides the WidgetCommon and WidgetStyle derive macros.
conrod_winitSimplifies using conrod_core with winit
conrod_gfxSimplifies using conrod_core with the gfx ecosystem
conrod_gliumSimplifies using conrod_core with glium
conrod_pistonSimplifies using conrod_core with piston
conrod_vulkanoSimplifies using conrod_core with vulkano

当前状态

我们刚刚到达一个API稳定的模式 !仍将有一些大的变化,但这更可能是新特性的加入而非API的重构。

想清楚的了解我们在哪儿?看这个issues,并且,特别的,1.0.0 milestone。

作出贡献

想帮助我们 ?请浏览 Piston's how to contribute guide。

许可

以下任何一个许可方式:

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)

  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

根据您的选择。

Contributions

除非你明确声明, 否则任何由你主观所做之贡献, 一如 Apache-2.0 license 之规定,应被双重许可,而无其它任何附加条款及条件。

案例资源

  • Google Noto (Apache2)

 类似资料: