[python] PySimpleGUI를 사용하여 메신저 애플리케이션 만들기

이번 포스트에서는 파이썬의 PySimpleGUI 라이브러리를 사용하여 간단한 메신저 애플리케이션을 만들어 보겠습니다. PySimpleGUI는 사용하기 쉽고 직관적인 사용자 인터페이스를 구축할 수 있는 파이썬 GUI 라이브러리입니다.

필요한 패키지 설치하기

먼저 PySimpleGUI를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다.

pip install PySimpleGUI

애플리케이션 구현하기

이제 메신저 애플리케이션을 구현해 보겠습니다.

import PySimpleGUI as sg

# 채팅 기록을 저장할 리스트
chat_history = []

# 채팅창 구성 요소
layout = [
    [sg.Listbox(values=chat_history, size=(50, 20), key='-CHAT-', enable_events=True)],
    [sg.Input(key='-INPUT-', size=(50, 1)), sg.Button('Send')]
]

# 윈도우 생성
window = sg.Window('Messenger', layout)

# 이벤트 루프
while True:
    event, values = window.read()

    # 윈도우를 닫을 때 애플리케이션 종료
    if event == sg.WINDOW_CLOSED:
        break
    
    # Send 버튼을 클릭하면 메시지를 전송
    if event == 'Send':
        message = values['-INPUT-']

        # 메시지를 리스트에 추가
        chat_history.append(message)

        # 리스트 박스 업데이트
        window['-CHAT-'].update(values=chat_history)

        # 입력 필드 초기화
        window['-INPUT-'].update('')

# 윈도우 닫기
window.close()

위 코드는 PySimpleGUI를 사용하여 채팅창을 만드는 코드입니다. chat_history라는 리스트를 생성하여 채팅 기록을 저장하고, layout 변수에는 채팅창의 구성 요소를 정의합니다. 이후에는 윈도우를 생성하고 이벤트 루프를 통해 사용자의 입력을 처리합니다. “Send” 버튼을 클릭하면 입력한 메시지를 chat_history에 추가하고 채팅창을 업데이트합니다.

실행하기

위 코드를 messenger.py라는 이름으로 저장한 후, 터미널에서 다음 명령어를 실행하여 애플리케이션을 실행할 수 있습니다.

python messenger.py

애플리케이션이 실행되면 채팅창과 메시지 입력 필드, “Send” 버튼이 나타납니다. 메시지를 입력한 후 “Send” 버튼을 클릭하면 채팅창에 입력한 메시지가 추가되는 것을 확인할 수 있습니다.

마무리

이번 포스트에서는 PySimpleGUI를 사용하여 간단한 메신저 애플리케이션을 만들어 보았습니다. PySimpleGUI는 사용하기 쉽고 직관적인 인터페이스를 제공하여 파이썬으로 GUI 애플리케이션을 개발할 때 유용한 도구입니다. 더 많은 기능을 활용하여 보다 복잡한 애플리케이션을 개발할 수도 있으니, 관심이 있다면 공식 문서를 참고해 보시기 바랍니다.

참고 자료