PySimpleGUI 循环需要更好的方法

PySimpleGUI loop need better way

我尝试使用 PySimpleGUIQt 在 PySimpleGUI 中循环一些元素 这是代码:

list_1 = ['a', 'b', 'c', 'd']
list_2 = ['e', 'f', 'g', 'h']

layout = [[Sg.Column([[Sg.Input(do_not_clear=True, size=(20, 0.7), enable_events=True, key=f'G_INPUT0{j}'), Sg.Column([[Sg.Input(do_not_clear=True, size=(14, 0.7), enable_events=True, key=f'INPUT{i}{j}') for i in range(9)]])],[Sg.Listbox(list_1, size=(20, 0.7), enable_events=True, key=f'G_LIST0{j}'), Sg.Column([[Sg.Listbox(list_1, size=(14, 0.7), enable_events=True, key=f'LIST{i}{j}')for i in range(9)]])],[Sg.Text(' G: ', size=(20, 0.7), key=f'G_TEXT{j}'), Sg.Column([[Sg.Text(f' T{i}: ', size=(14, 0.7), key=f'TEXT{i}{j}')for i in range(9)]])]])]for j in range(3)]
window = Sg.Window('Sample GUI', layout, finalize=True)
while True:
    event, values = window.Read()
    print(event)
    print(values)

输出: 问题是,如果我想添加新循环,我需要添加 Sg.Column,这会产生额外的 space,并再添加一个循环,但我不想使用 Sg.Column 所以谁能告诉我我可以获得类似于此结果的修复 使用 ms paint

示例代码没有任何 sg.Column

import PySimpleGUIQt as Sg

list_1 = ['a', 'b', 'c', 'd']
list_2 = ['e', 'f', 'g', 'h']

layout = []

for j in range(3):
    layout += [
        [Sg.Checkbox("Some text", pad=(3, 20))],
        [Sg.Input(do_not_clear=True, size=(20, 0.7), enable_events=True, key=f'G_INPUT0{j}')] +
        [Sg.Input(do_not_clear=True, size=(14, 0.7), enable_events=True, key=f'INPUT{i}{j}') for i in range(9)],
        [Sg.Listbox(list_1, size=(20, 0.7), enable_events=True, key=f'G_LIST0{j}')] +
        [Sg.Listbox(list_1, size=(14, 0.7), enable_events=True, key=f'LIST{i}{j}') for i in range(9)],
        [Sg.Text(' G: ', size=(20, 0.7), key=f'G_TEXT{j}')] +
        [Sg.Text(f' T{i}: ', size=(14, 0.7), key=f'TEXT{i}{j}') for i in range(9)]
    ]

window = Sg.Window('Sample GUI', layout, finalize=True)

while True:
    event, values = window.read()
    if event == Sg.WINDOW_CLOSED:
        break
    print(event, values)

window.close()