2020-01-10 15:43:09 +00:00
|
|
|
import PySimpleGUI as sg
|
|
|
|
|
|
|
|
"""
|
|
|
|
Demonstrates how to use the Window.layout_extend method.
|
|
|
|
Layouts can be extended at the Window level or within any container element such as a Column.
|
|
|
|
This demo shows how to extend both.
|
|
|
|
Note that while you can extend, add to, a layout, you cannot delete items from a layout. Of course you
|
|
|
|
can make them invisible after adding them.
|
|
|
|
|
|
|
|
Copyright 2020 PySimpleGUI
|
|
|
|
"""
|
|
|
|
|
|
|
|
layout = [ [sg.Text('My Window')],
|
|
|
|
[sg.Text('Click to add a row inside the frame'), sg.B('+', key='-B1-')],
|
|
|
|
[sg.Text('Click to add a row inside the Window'), sg.B('+', key='-B2-')],
|
|
|
|
[sg.Frame('Frame',[[sg.T('Frame')]], key='-COL1-')],
|
|
|
|
[sg.Input(key='-IN-'), sg.Text(size=(12,1), key='-OUT-')],
|
|
|
|
[sg.Button('Button'), sg.Button('Exit')] ]
|
|
|
|
|
|
|
|
window = sg.Window('Window Title', layout)
|
|
|
|
i = 0
|
|
|
|
while True: # Event Loop
|
|
|
|
event, values = window.read()
|
|
|
|
print(event, values)
|
2020-05-07 10:22:59 +00:00
|
|
|
if event in (sg.WIN_CLOSED, 'Exit'):
|
2020-01-10 15:43:09 +00:00
|
|
|
break
|
|
|
|
if event == '-B1-':
|
|
|
|
window.extend_layout(window['-COL1-'], [[sg.T('A New Input Line'), sg.I(key=f'-IN-{i}-')]])
|
|
|
|
i += 1
|
|
|
|
if event == '-B2-':
|
|
|
|
window.extend_layout(window, [[sg.T('A New Input Line'), sg.I(key=f'-IN-{i}-')]])
|
|
|
|
i += 1
|
|
|
|
window.close()
|