#progress-bar #task #terminal #bars #user

pgbar

pgbar - 使用Rust编写的最小化进度条 🦀

1 个不稳定版本

0.3.1 2023年3月25日
0.3.0 2023年3月21日
0.2.0 2023年3月21日
0.1.0 2023年3月20日

8#bars

每月38次下载

MIT 许可证

12KB
200

pgbar - 使用Rust编写的最小化进度条 🦀

Crates.io Rust CI

这是一个用于在终端创建进度条的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