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

Python3中PySimpleGui列表框展示带空格内容出现花括号问题求助

问题原因

你给ListBox传入的people_list的元素是二维列表(每个条目是[ID, 姓名]的子列表),而PySimpleGUI默认基于tkinter实现的ListBox控件,要求每个显示条目是单个字符串。当传入非字符串的序列类型、且序列内的字符串包含空格时,tkinter会自动给带空格的字符串包裹花括号做转义,这就是你看到的异常现象。

修复方案
  • 把每个要显示的条目拼接为单个字符串,不要传入子列表。把循环里的添加逻辑改成:
for eachrec in result:
    # 把ID和姓名拼接成单个字符串再加入列表
    people_list.append(f"{eachrec[0]} {eachrec[2]}")
  • 如果后续需要获取选中条目的ID,从选中的字符串分割即可:
# 假设选中后拿到的内容是selected_item
selected_id = int(selected_item.split(maxsplit=1)[0])

如果担心姓名里有多个空格导致分割出错,可以单独维护一个ID和显示字符串的映射字典,选中后查字典取对应的ID即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:18:01