< 返回我的博客

MoLuoPro 发表于 2019-11-11 19:03

Tags:Rust,GUI,Library

Conrod 线条

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

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

指南

  1. 什么是Conrod ?
  2. 开始 !
  3. 让我们创建一个图形界面
    • 创建一个基本窗口(使用 piston_window)
    • Conrod设置
    • 实例化组件Widget
    • Widget定位与布局
  4. 使用和自定义主题
    • 什么是主题Theme
    • 定制主题
    • 连载主题
  5. 设计自定义组件 (使用 Widget trait)
    • Widget trait
    • widget_style!
    • builder_methods!
    • 制作一个 Button 组件
  6. 定制图像和窗口后台
    • 后台的实现范例(使用 glium 和 glutin)
  7. 内部机制
    • Ui 的组件 Graph
    • Ui::set_widgets ——它是如何工作的 ?
  8. 频繁被问及的

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

Crates模块

Crate Badges Description
conrod_core Crates.io docs.rs The fundamentals for any conrod project.
conrod_derive Crates.io docs.rs Provides the WidgetCommon and WidgetStyle derive macros.
conrod_winit Crates.io docs.rs Simplifies using conrod_core with winit
conrod_gfx Crates.io docs.rs Simplifies using conrod_core with the gfx ecosystem
conrod_glium Crates.io docs.rs Simplifies using conrod_core with glium
conrod_piston Crates.io docs.rs Simplifies using conrod_core with piston
conrod_vulkano Crates.io docs.rs Simplifies 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 之规定,应被双重许可,而无其它任何附加条款及条件。

案例资源

评论区

写评论
chn-cutelotus 2020-09-10 21:10

这么难用的UI,你们在用吗?

Mike Tang 2019-11-14 21:11

+1

1 共 2 条评论, 1 页