[python] PySimpleGUI를 사용하여 영화 예매 애플리케이션 만들기

이 글은 PySimpleGUI를 활용하여 영화 예매 애플리케이션을 만드는 방법에 대해 알아보겠습니다.

목차

  1. PySimpleGUI란?
  2. 영화 예매 애플리케이션 개요
  3. 영화 정보 입력 및 예매 기능 구현
  4. 결제 기능 추가
  5. 결과 및 마무리

1. PySimpleGUI란?

PySimpleGUI는 Python 언어를 기반으로 한 사용자 인터페이스(GUI) 개발 라이브러리입니다. 이 라이브러리를 사용하면 사용자가 편리하게 그래픽 사용자 인터페이스를 만들 수 있습니다.

2. 영화 예매 애플리케이션 개요

이번 예제에서는 PySimpleGUI를 사용하여 간단한 영화 예매 애플리케이션을 만들 것입니다. 사용자는 영화 제목, 상영 일자 및 시간, 좌석 등을 선택한 후 결제를 진행할 수 있습니다.

3. 영화 정보 입력 및 예매 기능 구현

먼저, PySimpleGUI를 설치한 후 아래 예제 코드를 작성합니다.

import PySimpleGUI as sg

# 윈도우 레이아웃 정의
layout = [[sg.Text('영화 제목'), sg.Input(key='-TITLE-')],
          [sg.Text('상영 일자 및 시간'), sg.Input(key='-DATETIME-')],
          [sg.Text('좌석'), sg.Input(key='-SEAT-')],
          [sg.Button('예매')]]

# 윈도우 생성
window = sg.Window('영화 예매 애플리케이션', layout)

# 이벤트 루프
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    if event == '예매':
        title = values['-TITLE-']
        datetime = values['-DATETIME-']
        seat = values['-SEAT-']
        # 예매 기능 구현
        print(f'{title} 영화 예매 완료! 상영 일자: {datetime}, 좌석: {seat}')

window.close()

위 코드에서 layout 변수에는 윈도우에 표시될 UI 요소들이 정의되어 있습니다. 사용자는 영화 제목, 상영 일자 및 시간, 좌석 정보를 입력한 후 예매 버튼을 클릭할 수 있습니다.

예매 버튼을 클릭하면 입력된 정보들이 출력되며, 이 부분에 실제로 예매 기능을 구현해야 합니다.

4. 결제 기능 추가

영화 예매 기능이 정상적으로 작동한다면, 이제 결제 기능을 추가할 차례입니다. 사용자가 예매 버튼을 클릭했을 때, 결제 창이 뜨고 결제를 완료할 수 있도록 아래 예제 코드를 추가합니다.

import PySimpleGUI as sg

# (이전 코드 생략)

if event == '예매':
    title = values['-TITLE-']
    datetime = values['-DATETIME-']
    seat = values['-SEAT-']
    # 결제 기능 구현
    layout = [[sg.Text('결제 정보')],
              [sg.Text(f'영화: {title}')],
              [sg.Text(f'상영 일자 및 시간: {datetime}')],
              [sg.Text(f'좌석: {seat}')],
              [sg.Button('결제')]]
    window = sg.Window('결제', layout)
    event, values = window.read()
    if event == sg.WINDOW_CLOSED:
        break
    if event == '결제':
        # 결제 로직 구현
        print('결제 완료!')

# (이후 코드 생략)

위 코드에서는 예매 버튼을 클릭했을 때 결제 정보가 포함된 창이 새로 뜨도록 구현되어 있습니다. 사용자는 여기서 결제 버튼을 클릭하여 결제를 진행할 수 있습니다.

5. 결과 및 마무리

위 예제 코드를 실행하면 간단한 영화 예매 애플리케이션이 실행됩니다. 사용자는 영화 제목, 상영 일자 및 시간, 좌석을 선택한 후 예매를 진행할 수 있습니다. 예매 완료 시, 해당 정보와 함께 결제를 진행할 수 있는 창이 열리게 됩니다.

이처럼 PySimpleGUI를 활용하면 Python으로 간편한 GUI 애플리케이션을 개발할 수 있습니다.

참고 자료