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

PySimpleGUI如何实现同一行两个元素设置不同expand属性

解决方案

PySimpleGUI旧版本存在同一行多个元素的横向扩展规则冲突问题,可通过以下两种方案解决:

  • 方案1:使用Column容器包裹不需要横向扩展的元素
    将Tree组件放到独立Column中单独控制扩展属性,避免和同行Table的扩展逻辑冲突,修改后代码如下:
# 用Column固定Tree的横向宽度
tree_container = sg.Column(
    [[sg.Tree(treedata, headings=[], key='-TREE1-')]],
    size=(220, None), # 按需求调整Tree的固定宽度
    expand_x=False,
    expand_y=True
)

defect_col = [[
    tree_container,
    sg.Table(values=ls_files, headings=header_list, key='-TABLE1-', expand_x=True, expand_y=True)
]]
window = sg.Window('SimpleWindow', defect_col, finalize=True, resizable=True)
  • 方案2:手动指定Tree的固定尺寸,无需额外容器
    直接给Tree设置固定的size参数锁定宽度,仅开启纵向扩展即可:
defect_col = [[
    sg.Tree(treedata, headings=[], key='-TREE1-', size=(35, 20), expand_y=True), # size参数第一个值为宽度,第二个为高度,按需调整
    sg.Table(values=ls_files, headings=header_list, key='-TABLE1-', expand_x=True, expand_y=True)
]]
window = sg.Window('SimpleWindow', defect_col, finalize=True, resizable=True)

两种方案运行后,窗口拉伸时Tree都会保持固定宽度,Table自动占满剩余横向空间,二者同步纵向填充窗口高度,符合预期布局效果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:15:06