2011-12-10 29 views
1

更改的自定義文本嘿,我使用pypi進度條包,我非常喜歡它。我的問題是,我還沒有找到一種方法來顯示自定義文本。我的意思與顯示是當我打電話pbar.update()Python進度條(PyPi) - 顯示隨更新()更改()

例如,如果我遞歸地掃描我的電腦文件,我想在進度條更改爲當前文件改變文本。

widgets = [CustomText(), ' ', Percentage(), ' ', Bar('/'), ' ', RotatingMarker()] 
pbar = ProgressBar(widgets=widgets, maxval=1000) 
pbar.start() 

pbar.update(0, "custom_string") 

這樣的事情對我來說最合適。但由於更新功能只需要一個數字,我不知道如何實現這樣的事情,而無需更改進度條庫本身。

由於提前

回答

7

我試圖用update方法在FormatLabel小部件來改變標籤的內容,但它並沒有爲我工作。再次

from progressbar import * 
import time 

widgets = [FormatLabel(''), ' ', Percentage(), ' ', Bar('/'), ' ', RotatingMarker()] 
progressbar = ProgressBar(widgets=widgets, maxval=10) 
progressbar.start() 
for i in range(0, 11): 
    widgets[0] = FormatLabel('<filename-{0}>'.format(i)) 
    progressbar.update(i) 
    time.sleep(.5) 
progressbar.finish() 
+0

的偉大工程,非常感謝,我沒有看格式的標籤,但不知道該進度條重新檢查部件每次更新時,感謝:然而,在一個完全新的對象替換FormatLabel爲我工作 – cwoebker

+0

如果應用到最後,請務必更新term_width以包含自定義文本的長度:bar.term_width = 50 + len(formatLabel) – ISZ