Как сделать переход экрана с помощью PysimpleGUIPython

Программы на Python
Ответить
Anonymous
 Как сделать переход экрана с помощью PysimpleGUI

Сообщение Anonymous »


Мне хотелось бы знать, как выполнить переход экрана с помощью 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: перерыв окно.закрыть()
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»