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

如何在PySimpleGUI Multiline组件中实现行数超出时自动滚动?

在PySimpleGUI的Multiline组件中实现内容超出行数自动启用滚动

PySimpleGUI的Multiline组件默认就支持内容超出行数时自动显示滚动条,针对你给出的sg.Multiline(size=(42, 5))代码,按以下方式处理即可:

  • 基础自动滚动:当输入内容的行数超过size参数中设定的行数(这里是5行)时,组件会自动弹出垂直滚动条,无需额外配置。
  • 自动滚动到最新内容:如果希望输入新内容时自动滚动到末尾,添加autoscroll=True参数:
    sg.Multiline(size=(42, 5), autoscroll=True)
    
  • 强制显示滚动条:若需要始终显示滚动条(即使内容未超出可视区域),可设置scrollbar=True参数:
    sg.Multiline(size=(42, 5), scrollbar=True)
    

完整测试示例

import PySimpleGUI as sg

# 构建界面布局
layout = [
    [sg.Multiline(size=(42, 5), key='-MULTILINE-', autoscroll=True)],
    [sg.Button('添加测试内容'), sg.Button('关闭窗口')]
]

window = sg.Window('Multiline自动滚动演示', layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == '关闭窗口':
        break
    if event == '添加测试内容':
        # 每次添加一行内容,触发滚动测试
        line_count = window['-MULTILINE-'].get().count('\n') + 1
        window['-MULTILINE-'].print(f'测试内容第 {line_count} 行')

window.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:01:01