[python] PySimpleGUI에서 시계 및 타이머 표시하기

PySimpleGUI는 사용자 인터페이스를 만들기 위한 간단하고 직관적인 Python 모듈입니다. 이번 포스트에서는 PySimpleGUI를 사용하여 시계와 타이머를 생성하는 방법을 알아보겠습니다.

PySimpleGUI 설치하기

우선, PySimpleGUI를 설치해야 합니다. 아래의 명령어를 사용하여 PySimpleGUI를 설치합니다.

pip install PySimpleGUI

시계 생성하기

PySimpleGUI를 사용하여 시계를 생성하려면 다음과 같은 코드를 사용할 수 있습니다.

import PySimpleGUI as sg
import datetime

# 윈도우 레이아웃 설정
layout = [[sg.Text('현재 시간: ', size=(15, 1), key='-OUTPUT-')],
          [sg.Button('시작'), sg.Button('종료')]]

window = sg.Window('시계', layout)

# 이벤트 루프 시작
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == '종료':
        break
    elif event == '시작':
        while True:
            current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            window['-OUTPUT-'].update('현재 시간: ' + current_time)
            event, values = window.read(timeout=1000)
            if event == sg.WINDOW_CLOSED or event == '종료':
                break

window.close()

위의 코드는 PySimpleGUI를 사용하여 윈도우를 생성하고 현재 시간을 표시하는 간단한 시계를 만드는 예시입니다. layout 변수에는 윈도우에 표시될 요소들을 정의하고, window 객체는 실제로 윈도우를 생성합니다. 이후 while 루프에서는 시간을 업데이트하고 윈도우의 UI를 갱신합니다.

타이머 생성하기

PySimpleGUI를 사용하여 타이머를 생성하려면 다음과 같은 코드를 사용할 수 있습니다.

import PySimpleGUI as sg

# 윈도우 레이아웃 설정
layout = [[sg.Text('0', size=(15, 1), key='-OUTPUT-')],
          [sg.Button('시작'), sg.Button('종료')]]

window = sg.Window('타이머', layout)

# 이벤트 루프 시작
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == '종료':
        break
    elif event == '시작':
        time = 0
        while True:
            window['-OUTPUT-'].update(str(time))
            event, values = window.read(timeout=1000)
            if event == sg.WINDOW_CLOSED or event == '종료':
                break
            time += 1

window.close()

위의 코드는 PySimpleGUI를 사용하여 윈도우를 생성하고 매 초마다 타이머 값을 증가시키는 간단한 타이머를 만드는 예시입니다. 시계와 마찬가지로 layout 변수에 윈도우에 표시될 요소들을 정의하고, window 객체는 실제로 윈도우를 생성합니다. while 루프에서는 매 초마다 타이머 값을 업데이트하고 윈도우의 UI를 갱신합니다.

결론

PySimpleGUI를 사용하여 시계와 타이머를 표시하는 방법에 대해 알아보았습니다. 이러한 기능을 활용하면 간단하게 사용자 인터페이스를 구축하고 다양한 기능을 추가할 수 있습니다. PySimpleGUI의 자세한 사용법에 대해서는 공식 문서를 참조하시기 바랍니다.