indicators可以幫助用戶設計進度條,當你為軟件配置進度條的時候就可以從這款軟件快速部署進度條樣式,軟件提供多種樣式,包括更新進度條,多線程進度條,下載進度條,百分比進度條,不確定進度條,滿足大部分進度條開發需求,為用戶提供更輕松的進度條設計方案;現在很多軟件都是提供進度條的,當開始工作的時候就可以顯示進度條,讓用戶可以了解軟件工作完成時間,避免等待過長,例如可以為更新場景附加進度條,可以為下載場景附加進度條,可以為數據加載場景附加進度條,可以為文件轉換附加進度條,支持的場景很多!
indicators軟件功能
1、indicators提供豐富的進度條內容
2、實時顯示進度條工作輕松,讓用戶判斷工作完成時間
3、可以顯示加載的進度條,等待數據加載完畢
4、可以顯示百分百,精確到1%,達到100%工作完成
5、支持數據加載、更新類型的進度條,查看已經加載多少數據
6、支持剩余時間類型的進度條,查看當前工作剩余多少秒
7、支持平滑進度條,直接從左側到右側顯示滑塊類型的進度條
8、支持多線程進度條,同時下載多個任務就可以顯示每個任務進度條
indicators軟件特色
1、indicators為用戶提供豐富的進度條樣式
2、您可以將軟件部署到開發程序使用
3、在編輯命令行軟件的時候可以使用這款軟件附加進度條
4、在編輯程序的時候也可以插入進度條
5、幫助用戶提升進度條設計速度,使用軟件提供的樣式就可以直接編輯新的進度條
6、支持基本進度條、不確定進度條、平滑進度條、動態進度條
indicators教程
基本進度條
要在應用程序中引入進度條,請包含indicators/pgress_bar.hpp并創建一個PgressBar對象。這是進度條的一般結構:
PgressBar中的進度量保持在一個size_t范圍內[0, 100]。當進度達到100時,進度完成。
在應用程序級代碼中,可以通過兩種方法來更新此進度:
使用更新進度 bar.tick()
您可以更新進度條,使用bar.tick()該進度條將進度精確增加1%。
上面的代碼將打印一個進度條,該進度條從100到100%的比率從0到100%。
使用更新進度 bar.set_pgress(value)
如果您希望分步控制條的進度,請考慮使用bar.set_pgress(value)。例子:
顯示經過的時間/剩余時間
支持中的所有進度條和微調器,indicators顯示經過的時間和剩余時間。受python的tqdm模塊啟發,此儀表的格式為[{elapsed}<{remaining}]:
不確定進度條
您可能有一個進度條用例,其中最大進度量是未知的,例如,您是從沒有發布總字節數的遠程下載的。
使用indicators::IndeterminatePgressBar了這樣的情況。一種IndeterminatePgressBar類似于常規進度條除總量進展情況是未知的。勾選此進度條將永遠快樂。
當您知道進度已完成時,只需致電bar.mark_as_completed()。
滑塊進度條
您是否需要使用unicode塊元素的平滑塊進度條?使用BlockPgressBar代替PgressBar。BlockPgressBar為該庫添加了一個簡單的內容。
多進程
indicators支持使用MultiPgress類模板管理多個進度條。
template class MultiPgress是一個類模板,其中包含對多個進度條的引用,并提供一個安全的界面來更新每個進度條的狀態。MultiPgress可與PgressBar和BlockPgressBar類一起使用。
如果您知道在編譯時要管理的進度條數量,請使用此類。
下面是MultiPgress管理三個PgressBar對象的示例對象。
動態進度
DynamicPgress是類似于的容器類,MultiPgress用于管理多個進度條。顧名思義,使用DynamicPgress,您可以動態添加新的進度條。
要添加新的進度條,請致電bars.push_back(new_bar)。該調用將返回附加欄的索引。,您可以使用索引運算符(例如)來引用此欄bars[4].set_pgress(55)。
如果您在編譯時不知道進度條的數量,請使用此類。
以下是DynamicPgress管理六個PgressBar對象的示例對象。這些條中的三個是動態添加的。
在上面的代碼中,請注意選項bars.set_option(option::HideBarWhenComplete{true});。是的,您可以通過將此選項設置為來隱藏進度條,以及在進度條完成時隱藏它們true。如果這樣做,上面的示例將如下所示: