[python] PySimpleGUI에서 창을 닫는 이벤트 처리하기

PySimpleGUI는 파이썬으로 간단하게 GUI 프로그램을 개발할 수 있는 라이브러리입니다. 이 라이브러리를 사용하면 사용자 인터페이스를 효과적으로 개발할 수 있습니다. 이번에는 PySimpleGUI를 사용하여 창을 닫는 이벤트를 처리하는 방법에 대해 알아보겠습니다.

창을 닫는 이벤트를 처리하기 위해서는 Window 객체의 Read 메서드를 사용해야 합니다. 이 메서드는 사용자가 어떤 이벤트를 발생시킬 때까지 프로그램을 블록시키는 역할을 합니다. 그리고 사용자 이벤트를 처리한 후에 다음 이벤트를 기다리기 위해 다시 Read 메서드를 호출해야 합니다.

아래는 PySimpleGUI를 사용하여 창을 닫는 이벤트를 처리하는 예제 코드입니다.

import PySimpleGUI as sg

layout = [[sg.Text('Hello, PySimpleGUI!')],
          [sg.Button('Close')]]

window = sg.Window('Event Handling Example', layout)

while True:
    event, values = window.read()
    
    if event == sg.WINDOW_CLOSED or event == 'Close':
        break

window.close()

위 예제에서는 WINDOW_CLOSED 이벤트 또는 ‘Close’ 버튼을 클릭했을 때 창을 닫는 로직을 구현하고 있습니다. 무한 루프를 사용하여 Read 메서드를 계속 호출하고, 이벤트가 발생하면 처리합니다. WINDOW_CLOSED 이벤트는 사용자가 창을 닫았을 때 발생하며, ‘Close’ 버튼을 클릭했을 때는 ‘Close’ 이벤트가 발생합니다.

event 변수에는 발생한 이벤트의 종류가 저장되고, values 변수에는 사용자 입력 값들이 저장됩니다.

마지막으로 window.close() 메서드를 호출하여 창을 닫습니다.

이런 식으로 PySimpleGUI를 사용하여 창을 닫는 이벤트를 처리할 수 있습니다.