Мне хотелось бы знать, как выполнить переход экрана с помощью PysimpleGUI.
В частности, я хотел бы иметь возможность нажать кнопку в верхней части экрана и отобразить экран, соответствующий кнопке. Для этой цели я создал следующий код.
Когда я нажимаю кнопку в первый раз, экран переключается (просто открываю новое окно) без каких-либо проблем, но когда я нажимаю кнопку во второй раз, я получаю сообщение об ошибке, подобное изображенному на изображении.

Как я могу сделать так, чтобы независимо от того, сколько раз я нажимаю кнопку вкладки, я не получал сообщение об ошибке, как показано на изображении? Кроме того, можно ли изменить только макет в том же окне, как в браузере, вместо повторного открытия нового окна?
импортировать PySimpleGUI как sg sg.theme('Темно-синий') sg.set_options(font=('メイリオ', 9)) #============================================== ======================== ### кнопка_табуляции ### tab1 = sg.Frame("",[[sg.Button("page1", key="-PAGE1-", size=(5, 1), Disabled=True), sg.Button("page2", key= "-PAGE2-", size=(5, 1))]]), tab2 = sg.Frame("",[[sg.Button("page1", key="-PAGE1-", size=(5, 1)), sg.Button("page2", key="-PAGE2- ", size=(5, 1), отключено=True)]]) кадр1 = sg.Frame('', [ [sg.Text("text1")], [sg.Input()], [sg.Text("text2")], [sg.Input()] ], размер = (500, 600) ) кадр2 = sg.Frame('', [] , размер=(500, 600) ) #============================================== ======================== защита макета1(): макет1 = [ [таб1], [кадр1] ] return sg.Window("a", layout1, resizable=True, Finalize=True) защита макета2(): макет2 = [ [таб2], [кадр2] ] return sg.Window("b", layout2, resizable=True, Finalize=True) #============================================== ======================== окно = макет1() пока правда: событие, значения = window.read() если событие == '-PAGE1-': окно.закрыть() окно = макет1() событие elif == '-PAGE2-': окно.закрыть() окно = макет2() событие elif == sg.WIN_CLOSED: перерыв окно.закрыть()
Мобильная версия