最近我一直在研究这个问题,幸运的是,自从tqdm版本4.28.1以来,它已经被解决了,可以在
Pypi上获取。
参考
此提交。
也就是说,进度条是一个来自
ipywidgets
的小部件,它有一个专门的进度条小部件,官方不能更改其大小。有关小部件描述的更多信息,请参见
此处。
现在,看起来你的描述相当长,将描述长度设置为“初始”可能会使您最终得到一个1像素宽的进度条。
如果您需要获得更大的进度条,最简单的方法是将其分成两行显示,并使用标签小部件直接更改其值。
from ipywidgets import HBox, Label, IntProgress
import time
from IPython.display import display
from tqdm import tqdm_notebook as tqdm
a = Label('A too long description')
display(a)
b = tqdm(range(100))
for i in b:
time.sleep(0.1)
a.value = 'a too long descriptio' + 'o'*i +'n'
如果你真的需要将所有内容放在一行中,你可以修改tqdm的代码
这里,使得tqdm小部件是一个Hbox,包含文本、IntProgress和再次文本。
ptext = HTML()
pdesc = HTML()
container = HBox(children=[pdesc, pbar, ptext])
完成后,您可以按照
此处的方式更新描述,但是更新
此处的描述。