[python] PySimpleGUI를 사용하여 사무실 예약 시스템 개발하기
많은 사무실에서는 사람들이 효율적으로 예약을 할 수 있는 시스템을 필요로 합니다. 이를 위해 PySimpleGUI 라이브러리를 사용하면 간단하고 강력한 사무실 예약 시스템을 개발할 수 있습니다.
Prerequisites
- Python 3.x 이상이 설치되어 있어야 합니다.
-
PySimpleGUI 라이브러리를 설치해야 합니다. 설치 명령어는 다음과 같습니다.
pip install PySimpleGUI
예약 시스템 개발하기
-
필요한 라이브러리를 임포트합니다.
import PySimpleGUI as sg import datetime
-
예약 가능한 시간대를 리스트로 정의합니다.
time_slots = ['09:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00']
-
예약 시스템 GUI를 구성합니다.
layout = [ [sg.Text('사무실 예약 시스템')], [sg.Text('예약 날짜'), sg.Input(key='-DATE-', enable_events=True)], [sg.Text('예약 시간'), sg.Combo(time_slots, key='-TIME-', enable_events=True)], [sg.Button('예약', key='-RESERVE-')] ] window = sg.Window('사무실 예약 시스템', layout)
-
이벤트 핸들러 함수를 정의합니다.
def handle_events(event, values): if event == '-DATE-': # 입력된 날짜가 오늘 날짜보다 이전인 경우 경고 메시지를 출력합니다. selected_date = datetime.datetime.strptime(values['-DATE-'], '%Y-%m-%d').date() today = datetime.date.today() if selected_date < today: sg.popup('오늘 이후의 날짜를 선택하세요.', title='경고') window['-DATE-'].update(today.strftime('%Y-%m-%d')) elif event == '-RESERVE-': # 예약 정보를 저장하고 성공 메시지를 출력합니다. reserved_date = values['-DATE-'] reserved_time = values['-TIME-'] sg.popup(f'{reserved_date} {reserved_time}에 예약되었습니다.', title='성공')
-
이벤트 루프를 실행합니다.
while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break handle_events(event, values) window.close()
실행결과
사용자는 예약하고자 하는 날짜를 선택하고, 예약 가능한 시간대 중에서 원하는 시간을 선택한 후에 ‘예약’ 버튼을 클릭하여 예약을 완료할 수 있습니다. 예약 날짜는 오늘 이후의 날짜만 선택할 수 있으며, 예약이 성공적으로 완료되면 예약 정보가 팝업창으로 출력됩니다.
결론
PySimpleGUI를 사용하여 사무실 예약 시스템을 개발하는 방법을 알아보았습니다. 이 라이브러리를 활용하면 간단하고 직관적인 GUI를 작성할 수 있으며, 다양한 개발 과제에 유용하게 활용할 수 있습니다. 자세한 내용은 PySimpleGUI 공식 문서를 참조하시기 바랍니다.