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

PySimpleGUI:更新Multiline字体时窗口及控件异常变大的问题求助

解决PySimpleGUI Multiline字体放大后控件/窗口异常变大的问题

核心解决方案

要维持控件和窗口原尺寸仅放大文本,需从固定控件尺寸、正确设置字体参数两个方面入手:

  1. 创建Multiline时固定尺寸并禁用文本自动调整
    初始化Multiline控件时,必须指定size参数(格式为(宽度字符数, 高度行数)),同时设置autosize_text=False,避免控件因字体变化自动扩展。

  2. 使用正确的font参数格式
    font参数需遵循(字体名称, 字号)的格式,而非你之前错误的(10,10)(第一个值应为字体名,如'Arial'或'微软雅黑',第二个为字号)。

完整代码示例

import PySimpleGUI as sg

# 初始化布局,固定Multiline尺寸并禁用自动调整
layout = [
    [sg.Multiline('初始展示文本', key='result', size=(40, 10), autosize_text=False)],
    [sg.Button('切换为大字体')]
]

# 创建窗口并禁用窗口拉伸
window = sg.Window('固定尺寸测试', layout, resizable=False)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    if event == '切换为大字体':
        # 正确更新字体和文本颜色,控件尺寸保持不变
        window['result'].update(
            'some text',
            text_color='red',
            font=('微软雅黑', 14)  # 字体名+字号的正确格式
        )

window.close()

关键说明

  • size=(40,10):将Multiline控件固定为可显示40个字符宽度、10行高度的尺寸
  • autosize_text=False:强制控件忽略文本内容/字体变化,保持设定尺寸
  • resizable=False:禁止窗口被手动拉伸,维持窗口原尺寸
  • 错误的font=(10,10)会导致控件解析参数异常,进而触发尺寸失控,务必使用标准格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:35:17