Как поменять содержимое окна?
Есть код на PySimpleGUI, всё хорошо, но не могу понять как менять содержимое окон. Подскажите, пожалуйста на данном примере:
import PySimpleGUI as sg
import sqlite3
class DB:
def __init__ (self):
self.conn = sqlite3.connect('student.db')
self.c = self.conn.cursor()
self.c.execute(
'''CREATE TABLE IF NOT EXISTS student
(id integer primary key, fa text, im text, ot text)''')
self.conn.commit()
def insert(fa,im,ot):
conn = sqlite3.connect('student.db')
c = conn.cursor()
c.execute(
'''INSERT INTO student (fa,im,ot)
VALUES (?,?,?)''',
(fa,im,ot))
conn.commit()
sg.theme('Topanga')
layout =[[sg.Text('Фамилия:', size=(30,1),justification='right'),sg.InputText(key='-FAM-', do_not_clear=False)],
[sg.Text('Имя:', size=(30,1),justification='right'),sg.InputText(key='-NAME-', do_not_clear=False)],
[sg.Text('Отчество:', size=(30,1),justification= 'right'),sg.InputText(key='-OT-', do_not_clear=False)],
[sg.Submit('Запись'),sg.Cancel('Поменять1')]]
layout2=[[sg.Text('ФИО:', size=(30,1),justification='right'),sg.InputText(key='-FAM-', do_not_clear=False)],
[sg.Text('Номер:', size=(30,1),justification='right'),sg.InputText(key='-NAME-', do_not_clear=False)],
[sg.Text('Серия:', size=(30,1),justification= 'right'),sg.InputText(key='-OT-', do_not_clear=False)],
[sg.Submit('Добавить'),sg.Cancel('Поменять2')]]
window = sg.Window('Форма ввода').Layout(layout)
while True:
event, values = window.Read()
if event is None:
break
if event == 'Запись':
fa = values['-FAM-']
im = values['-NAME-']
ot = values['-OT-']
DB.insert(fa,im,ot)
if event == 'Поменять1':
window = sg.Window('Форма ввода').Layout(layout2) #Меняет содержимое окна, но только один раз
if event == 'Поменять2':
window = sg.Window('Форма ввода').Layout(layout) #Выводит ошибку при нажатии на кнопку