Для задания функции к переменной в PySimpleGUI, вам нужно использовать ключевое слово lambda
или просто название функции без скобок.
Вот примеры для обоих случаев:
1. Использование ключевого слова lambda
:
import PySimpleGUI as sg def my_function(): print("Функция была вызвана") layout = [ [sg.Button("Кнопка", key="-BUTTON-")] ] window = sg.Window("Моя программа", layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break if event == "-BUTTON-": my_function() # Вызываем функцию при нажатии кнопки window.close()
2. Использование названия функции без скобок:
import PySimpleGUI as sg def my_function(): print("Функция была вызвана") layout = [ [sg.Button("Кнопка", key="-BUTTON-", button_color=("white", "#333333"))] ] window = sg.Window("Моя программа", layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break if event == "-BUTTON-": my_function # Заметьте отсутствие скобок здесь window.close()
Обратите внимание, что в обоих случаях вместо print("Функция была вызвана")
вы можете поместить любой код, который должен выполняться при вызове функции.
Надеюсь, это помогло вам разобраться и удачи в работе с PySimpleGUI! Если у вас есть еще вопросы, не стесняйтесь задавать.