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

PySimpleGUI表格仅显示一行问题求助

问题排查与修正方案

核心问题

代码中sg.Table的headings参数传入了二维列表,但PySimpleGUI要求该参数必须是一维字符串列表,这种格式错误导致表格渲染异常,仅显示一行数据。

修正步骤

  • 修正表头格式:将header从嵌套列表改为一维列表,去掉外层的方括号,让表头与数据列正确对应。
  • 优化表格显示(可选):添加num_rows参数指定默认显示的行数,若数据行数超过该值,表格会自动生成滚动条;同时统一窗口关闭逻辑,避免资源泄漏。

修正后的完整代码

import PySimpleGUI as sg

rows=[
      ["CULTUS","4","3500","300","550"],
      ["SONATA","3","5000","350","750"],
      ["KIA Sportage","3","6000","500","700"],
      ["Yaris","5","4000","300","600"],
      ["HONDA CIVIC","5","5500","300","600"],
      ["Pajero","2","7000","500","700"]
     ]
# 改为一维列表,去掉外层嵌套的方括号
header = ["Model", "Available", "Price/Day","Liability Insurance/Day", "Comprehensive Insurance/Day"]

layout=[[sg.Table(
               values=rows,
               headings=header,
               size=(500,300),
               num_rows=6,  # 指定默认显示6行,匹配数据总行数
               key="-TABLE-",)
     ],
     [sg.OK(),sg.Cancel()]
     ]
window = sg.Window('TG Enterprises', layout ,size=(600,400))
event, values = window.read()
window.close()  # 统一关闭窗口,避免程序退出后窗口残留
print(event,values)

额外说明

  • headings参数的正确格式为[str, str, ...],每个元素对应一列的表头文本。
  • num_rows参数用于设置表格默认展示的行数,适配数据量调整该值可提升界面观感。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:32:12