2011-12-10 12 views
1

ちょっと、私はpypiのプログレスバーパッケージを使用しています。私の問題は、これまでカスタムテキストを表示する方法が見つけられていないことです。私が意味することは、電話で変わるテキストを表示することです。pbar.update()Python Progressbar(PyPi) - update()で変更されるカスタムテキストを表示

たとえば、コンピュータを再帰的にスキャンして、進行状況バーを現在のファイルに変更したい場合などです。

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

pbar.update(0, "custom_string") 

このようなものは、私にとってはうまくいくでしょう。しかし、更新機能には番号しかないので、進捗バー・ライブラリー自体を変更せずに、このようなものを実装する方法がわかりません。アドバンス

答えて

7

おかげで私は、ラベルの内容を変更するFormatLabelウィジェットで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

は偉大なおかげでたくさんの作品、私はフォーマットのラベルを見ていたが、プログレスバーがウィジェットにそれが更新されるたびに再チェックすることを認識していませんでした、もう一度感謝 – cwoebker

+0

最後に適用する場合は、term_widthをカスタムテキストの長さに合わせて更新してください。bar.term_width = 50 + len(formatLabel) – ISZ

関連する問題