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

PySimpleGUI Multiline元素文本无法正确分行显示问题求助

问题原因
  • PySimpleGUI的Multiline元素初始值仅接受字符串类型输入,你传入的是嵌套列表layout_list,组件会自动将非字符串的序列类型转换为带{}包裹的拼接字符串,导致出现多余的大括号。
  • 你没有为每行文本添加换行符\n,所有内容会默认在同一行展示。
  • 事件循环中重复调用window.read()会导致窗口响应逻辑异常。
修复方案

先将嵌套列表转换为每行以换行符分隔的字符串再传入Multiline,同时修正事件循环逻辑,修正后代码如下:

import PySimpleGUI as sg

layout_list = [
    ['Text 1'],
    ['Text 2'],
    ['Text 3']
]
# 把嵌套列表转成带换行的字符串
multiline_content = '\n'.join(item[0] for item in layout_list)

layout = [
    [sg.Multiline(multiline_content, s=(60, 5), disabled=True, key='key-multiline')]
]

window = sg.Window('Help!', layout=layout, margins=(1, 1))

while True:
    event, values = window.read()
    # 新增窗口关闭的退出逻辑
    if event == sg.WIN_CLOSED:
        break

window.close()

运行后Multiline就会按预期分行展示文本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:36:04