You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook中tqdm.notebook多进度条水平对齐问题

在Jupyter Notebook中对齐tqdm进度条

问题根源

tqdm Notebook widget版默认采用自适应布局,描述文本区域宽度随内容变化,加上进度百分比位数变动(如1%→100%),导致进度条整体偏移。

可行解决方案

方案1:自定义固定宽度的bar_format

针对Notebook环境调整格式字符串,强制描述、百分比区域占用固定宽度,确保进度条起始位置一致:

from tqdm.notebook import trange, tqdm
from time import sleep

# 固定描述宽度20字符,百分比占5位(含%),其余保留默认样式
bar_fmt = "{desc:<20}{percentage:5.1f}%|{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]"

for i in trange(3, desc='1st loop', bar_format=bar_fmt):
    for j in tqdm(range(100), desc='2nd loop', bar_format=bar_fmt):
        sleep(0.01)

方案2:用CSS全局固定描述区域宽度

通过Notebook的自定义CSS,给tqdm的描述标签设置固定最小宽度,一次性解决所有进度条对齐问题:
新建单元格运行以下代码:

from IPython.display import display, HTML
display(HTML("""
<style>
.tqdm-container .widget-label {
    min-width: 150px; /* 按需调整宽度 */
    display: inline-block;
}
</style>
"""))

之后运行tqdm代码,所有进度条的描述区域会保持固定宽度,自动对齐。

关于之前bar_format尝试失败的说明

Notebook版tqdm widget的格式变量结构与终端版不同,直接复用终端的格式字符串会导致渲染异常,需针对Notebook环境调整宽度定义。

内容的提问来源于stack exchange,提问作者Pierre D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:05:29