3 个版本 (稳定版)
1.1.0 | 2022年6月19日 |
---|---|
1.0.1 |
|
1.0.0 | 2022年5月30日 |
#39 in #loading
59KB
1K SLoC
loading_bar
关于
这是我的一款“酷炫”的加载条库。
加载条是一个简单的进度条,可以用来显示长时间运行过程的进度。
以及不同的方式来推进加载条。
文档
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
尚未文档化。
注意
- 颜色文档和源代码可以在 https://docs.rs/colored/2.0.0/colored/enum.Color.html 找到。
- 此库使用了
crossterm
crate,因此当使用此 crate 时,您应该了解如何使用上述 crate(以及可能导入和使用它以重置行)。
致谢
-
Mendel's Shop
- (本人) 为创建它。 -
Ryan
- 感谢他们发现的错误、打字错误以及提出的建议。
依赖项
~1–12MB
~82K SLoC