3 个版本 (稳定版)

1.1.0 2022年6月19日
1.0.1 2022年6月14日
1.0.0 2022年5月30日

#39 in #loading

MIT 许可证

59KB
1K SLoC

loading_bar

crates.io docs.rs

关于

这是我的一款“酷炫”的加载条库。
加载条是一个简单的进度条,可以用来显示长时间运行过程的进度。
以及不同的方式来推进加载条。

文档

docs.rs Github Pages
LoadingBar, TextLoadingBar, SimpleLoadingBar

安装

在您的 Cargo.toml 文件中的 [dependencies] 下添加以下内容

[dependencies]
loading_bar = "1.1.0"

如果您想测试最新功能,请使用以下内容

[dependencies]
"loading_bar" = { git = 'https://github.com/mendelsshop/loading_bar' }

有关完整示例,请参阅 示例 仓库。

LoadingBar

您可以使用以下代码创建进度条

use loading_bar::loading_bar::LoadingBar;

use loading_bar::{loading_bar::LoadingBar, Color}; // if you want to use the color feature

bar = LoadingBar::new(100, None, (0, 0)); // this creates a new loading bar with 100 steps and the default color at position 0,0

bar = LoadingBar::new(100, Some(Color::Green), (0, 0)); // this creates a new loading bar with 100 steps and the green color

以下示例假设您已导入 loading_bar crate。

显示加载条的进度

bar.print(); // this shows the loading bar

您可以使用以下代码增加加载条的进度

bar.advance(); // this increments the loading bar by 1 step
// takes no paramters

bar.advance_by(10); // this increments the loading bar by 10 steps
// takes a paramter of u16

bar.advance_by_percent(100); // this increments the loading bar by 100%
// takes a paramter of f32

// printsing and updating the loading bar
bar.advance_print(); // this increments the loading bar by 1 step and prints the current progress (each method has a print option)

更改颜色

bar.change_color(Some(Color::Red)); // this changes the color of the loading bar to red
// the change_color does not immediately change the color of the loading bar, it only changes the color when the next step is incremented when you print the bar next
bar.change_color(None); // changes the color to white (the default color)

我们可以有一个自动实例化并增加的加载条(我们无法手动更新它)

LoadingBar::auto_run(10, 50, 10, Some(Color::Red), (0, 0)); // this creates a new loading bar lasts 10 seconds, with a length of 50, and starts at 10 bars with the color red.
LoadingBar::auto_run(10, 50, 10, None, (0, 0)); // as above but with the default color

我们可以有一个已经实例化的加载条,然后传递给一个函数,该函数会自动增加它,就像自动运行函数一样

let mut bar = LoadingBar::new(10, Some(Color::Red), (0, 0)); // this creates a new loading bar with 10 steps and the red color
bar.auto_run_from(bar, 10); // this takes ownership of the bar and increments automatically to the end in a duration of 10 seconds

TextLoadingBar

尚未文档化。

SimpleLoadingBar

尚未文档化。

注意

致谢

  • Mendel's Shop - (本人) 为创建它。

  • Ryan - 感谢他们发现的错误、打字错误以及提出的建议。

依赖项

~1–12MB
~82K SLoC