[python] PySimpleGUI에서 키보드 및 마우스 이벤트 처리하기

PySimpleGUI는 Python에서 사용할 수 있는 간단하고 직관적인 GUI 라이브러리입니다. 이 라이브러리를 사용하면 사용자 인터페이스를 만들거나 이벤트를 처리하는데 매우 편리합니다. 이 글에서는 PySimpleGUI를 사용하여 키보드 및 마우스 이벤트를 처리하는 방법을 알아보겠습니다.

키보드 이벤트 처리하기

PySimpleGUI를 사용하여 키보드 이벤트를 처리하는 방법은 매우 간단합니다. 먼저, window.read()를 사용하여 키보드 이벤트를 감지할 수 있는 이벤트 루프를 생성합니다. 이 이벤트 루프는 사용자가 키를 누를 때마다 해당 이벤트를 감지하고 처리합니다. 예를 들어, 아래의 코드는 사용자가 ESC 키를 누를 때까지 윈도우가 열려 있는 상태를 유지하고 있습니다.

import PySimpleGUI as sg

layout = [[sg.Text("Press ESC to close the window")]]
window = sg.Window("Keyboard Events", layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Escape:27':
        break

window.close()

위의 코드에서는 event 변수를 사용하여 발생한 이벤트를 확인할 수 있습니다. 이를 통해 사용자가 누른 키에 따라 원하는 작업을 수행할 수 있습니다.

마우스 이벤트 처리하기

마우스 이벤트를 처리하는 방법도 키보드 이벤트와 유사합니다. window.read()를 사용하여 이벤트 루프를 생성한 다음, 사용자가 마우스 버튼을 누를 때마다 해당 이벤트를 감지하고 처리합니다. 아래의 코드는 마우스 왼쪽 버튼을 클릭할 때마다 클릭한 지점의 좌표를 출력하는 간단한 예제입니다.

import PySimpleGUI as sg

layout = [[sg.Text("Click the left mouse button")]]
window = sg.Window("Mouse Events", layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == 'MouseButton:1':
        x, y = values['x'], values['y']
        print(f"Clicked at ({x}, {y})")

window.close()

위의 코드에서는 values 변수를 사용하여 마우스 이벤트와 관련된 값들을 확인할 수 있습니다. 예를 들어, values['x']values['y']는 각각 마우스 클릭 시점의 x좌표와 y좌표를 가져옵니다.

마치며

이번 글에서는 PySimpleGUI를 사용하여 키보드 및 마우스 이벤트를 처리하는 방법에 대해 알아보았습니다. PySimpleGUI의 간결하고 직관적인 API를 통해 GUI 라이브러리를 사용하는 것이 쉬워집니다. 참고문서를 확인하여 더 많은 기능 및 사용법을 익혀보세요.