728x90
반응형

 티스토리 

 

PysimpleGUI로 Ticket 예매창을 만들어보자. 

아래 그림과 같은 달력 모듈과 함께 여러가지 입력창으로 심플한 Ticket 예매창을 만들어보자


1. 테마설정 방법

  - sg.theme_previewer(columns=8, scrollable=True) 를 실행하여 아래 그림처럼 원하는 테마를 설정할수있다.
  - sg.theme('Reds') # 원하는 테마의 이름을 입력하여 설정

 

2. 구현 코드리뷰

구현한 코드 내용을 자세하게 리뷰를 해보자.

import PySimpleGUI as sg

# sg.theme_previewer(columns=8, scrollable=True) # 원하는 창 테마 종류를 확인 

sg.theme('Reds') # 원하는 테마의 이름을 입력하여 설정

layout = [[sg.Text("Type your name"), sg.Input(key='-NAME-', do_not_clear=True, size=(15, 1))],
          [sg.Text("Type your Ticket Number"), sg.Input(key='-TICKET_NUMBER-', do_not_clear=True, size=(10, 1))],
          [sg.Input(key='-DAY1-', size=(30,1)), sg.CalendarButton("Book a DATE", close_when_date_chosen=True,  target='-DAY1-', location=(0,0), no_titlebar=False )],
          [sg.Text('Select your Items',size=(30, 1), font='Courier 15',justification='left')],
          [sg.Listbox(values=['Item1', 'Item2', 'Item3', 'Item4', 'Item5', 'Item6'], size=(40, 5), select_mode='single', key='-ITEMS-')],
          [sg.Radio("OPTION1", "RADIO", key='-OPT1-'), sg.Radio("OPTION2", "RADIO", key='-OPT2-')],
          [sg.Button('Book a Ticket'), sg.Exit()]
]

window = sg.Window('costzerocode.tistory.com', layout)

def ticket_Info(values):
    ticket_var = "-----Result of Information-----"
    name = '\nName: ' + values['-NAME-']
    ticket_var += name
    TICKET_NUMBER = '\nTicket Number: ' + values['-TICKET_NUMBER-']
    ticket_var += TICKET_NUMBER
    option = '\noption: '
    if values['-OPT2-']:
        option += 'OPT2'
    else:
        option += 'OPT1'
    ticket_var += option
    item_val = '\nITEM : ' + values['-ITEMS-'][0]
    ticket_var += item_val
    return ticket_var
   


while True:
    event, values = window.read()
    if event in (sg.WIN_CLOSED, 'Exit'):
        break
    elif event == 'Book a Ticket':
        sg.popup(ticket_Info(values))
window.close()

마무리

- 이번 포스팅은 PySimpleGUI로 달력을 활용한 간단한 메뉴를 만드는법에 대해 알아봤습니다. 

728x90
반응형

+ Recent posts