1 个不稳定版本
| 0.3.1 | 2023年3月25日 | 
|---|---|
| 0.3.0 |  | 
| 0.2.0 |  | 
| 0.1.0 |  | 
8 在 #bars
每月38次下载
12KB
200 行
pgbar - 使用Rust编写的最小化进度条 🦀
这是一个用于在终端创建进度条的Rust库。它提供了一种简单的方式来跟踪某些任务的进度,并允许用户自定义其外观和行为。
🎁 安装
将以下内容添加到您的 Cargo.toml
[dependencies]
pgbar = "*"
🧰 使用方法
要使用此库,首先在您的Rust项目中导入它
use pgbar::{ProgressBar, Style};
然后,使用 new() 方法创建一个新的进度条对象,配置您所需的设置
let mut pb = ProgressBar::new(100, 10, Style::default());
第一个参数表示进度条的最大值,第二个参数是完成任务预计所需的时间,第三个参数定义了进度条的风格。您可以通过创建一个新的 Style 结构体并使用您偏好的选项来自定义它。
之后,您可以通过调用 track() 方法开始跟踪任务的进度
pb.track();
这将更新进度条,直到达到定义的最大值。
您也可以使用 update()、reset() 和 recover() 方法来更新、重置或恢复进度条。
pb.update(50);
pb.reset();
pb.recover();
最后,要完成进度条,请调用 finish() 方法
pb.finish();
🎨 自定义
进度条可以通过以下选项进行自定义:
- symbol:表示任务进度的字符(默认:- "*")。
- width:进度条的宽度(默认:- 50)。
- wrapper:用于包装进度条的字符(默认:- "[]")。
- color:进度条的颜色(默认:Cyan)。
- time_to_finish:是否显示完成任务预计所需的时间(默认:- true)。
要自定义这些选项,请创建一个新的 Style 结构体并使用您偏好的配置,将其作为参数传递给 new() 方法
use termion::color;
let style = Style {
    symbol: "#".to_string(),
    width: 30,
    wrapper: "()".to_string(),
    color: Some(&color::Red),
    time_to_finish: false,
};
let mut pb = ProgressBar::new(100, 10, style);
🚀 示例
以下是一个简单的示例,展示了如何使用进度条库
use pgbar::{ProgressBar, Style};
use std::thread;
use std::time::Duration;
use termion::color;
fn main() {
    let style = Style {
        symbol: "=".to_string(),
        width: 50,
        wrapper: "||".to_string(),
        color: Some(&color::Green),
        time_to_finish: true,
    };
    let mut pb = ProgressBar::new(100, 5, style);
    for i in 0..=100 {
        pb.update(i);
        thread::sleep(Duration::from_millis(50));
    }
    pb.finish();
}
这将创建一个绿色背景、以"="符号和"||"包装器显示的进度条,每50毫秒更新一次进度,直到达到最大值100。
依赖项
~175KB