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

如何让PySimpleGUI表格每行完整显示多段文本内容?

解决PySimpleGUI表格多行文本被截断的问题

问题根源

你遇到的表格只显示每行第一个单词的问题,是因为传入Table的数据格式不符合要求:PySimpleGUI的Table组件要求values参数是二维列表(外层列表存所有行,每个子列表存一行的各列数据),但你传入的是一维字符串列表,组件会自动按空格拆分字符串为多列,而表格只有一列,因此只显示第一个空格前的内容。

解决方法

将一维字符串列表转换为二维列表,把每行文本单独包装进一个子列表中,修改后的代码如下:

# 原始文本拆分
data = "salv.e               ADJ    1 1 VOC S M POS               Always    mostfreq
 [XXXAX]      veryfreq
well, unharmed, sound; alive; safe, saved;
salv.e               V      2 1 PRES ACTIVE  IMP 2 S      Always    mostfreq
 [XXXBX]      frequent
be well/in good health; [salve => hello/hail/greetings; farewell/goodbye];
salve                ADV    POS                           Always    mostfreq
 [XXXDX]      lesser
hail!/welcome!; farewell!; [salvere jubere => to greet/bid good day];".split('\n')

# 格式化数据为二维列表
formatted_data = [[line] for line in data]

# 更新表格数据
window['table'].update(values=formatted_data)

额外优化(可选)

如果文本过长仍有显示不全的情况,可以在初始化Table时指定列宽,比如:

[Table(values=[[1], [4]], headings=['Output'], num_rows=20, key="table", 
       expand_x=True, justification='left', expand_y=True, col_widths=[120])]

col_widths参数可以自定义每列的宽度,确保长文本能完整显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 08:17:56