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

BeautifulTable在终端格式正常但PySimpleGUI输出显示错乱问题求助

PySimpleGUI 输出异常
终端输出正常

问题原因

BeautifulTable生成的是基于空格对齐的ASCII表格,必须依赖等宽字体(所有字符像素宽度统一)才能正常显示。终端默认加载等宽字体,所以显示正常;PySimpleGUI的Multiline组件默认使用非等宽字体,不同字符宽度不一致,直接打乱了空格对齐的表格结构。

解决方案

1. 为Multiline组件指定等宽字体

创建Multiline时添加font参数指定系统自带的等宽字体即可,Windows可选Consolas,Mac可选Menlo,Linux可选Monospace,通用配置示例如下:

# 示例:创建使用等宽字体的多行输出框
sg.Multiline(
    size=(100, 30),
    font=("Consolas", 11), # 字体名、字号可自行调整
    wrap=False, # 关闭自动换行,避免长行被截断打乱格式
    key="-TABLE_OUTPUT-"
)

调用update方法输出表格字符串时无需做额外修改,直接传入BeautifulTable转成的字符串即可。

2. 额外排查项

如果调整字体后仍有错位,可做如下检查:

  • 关闭BeautifulTable的颜色、特殊样式输出,避免不可见控制符占用显示位置
  • 确认表格边框、填充使用的是半角ASCII字符,不要使用全角特殊符号
  • 确认Multiline的宽度足够放下完整表格行,避免自动换行触发格式错乱

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:06:04