[파이썬] tkinter 시계 및 타이머 기능 구현

python-tkinter

소개

Tkinter는 파이썬에서 GUI(Graphical User Interface) 애플리케이션을 개발하기 위해 사용되는 표준 라이브러리입니다. 이번 블로그 포스트에서는 Tkinter를 사용하여 시계 및 타이머 기능을 구현하는 방법에 대해 알아보겠습니다. 이를 통해 Tkinter의 기본 구조와 사용법에 대한 이해를 높일 수 있을 것입니다.

시계 기능 구현하기

먼저, 시계 기능을 구현해 보겠습니다. 아래는 시계를 표시하는 Tkinter 애플리케이션의 예시 코드입니다.

import tkinter as tk
from datetime import datetime

def update_clock():
    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    clock_label.config(text=current_time)
    clock_label.after(1000, update_clock)

root = tk.Tk()
root.title("시계 애플리케이션")

clock_label = tk.Label(root, font=("Arial", 20), fg="black")
clock_label.pack(pady=20)

update_clock()

root.mainloop()

위 코드를 실행하면 Tkinter 창에 현재 시각이 실시간으로 표시됩니다. update_clock() 함수는 datetime.now().strftime("%Y-%m-%d %H:%M:%S")를 사용하여 현재 시간을 가져오고, clock_label.config(text=current_time)를 통해 라벨의 텍스트를 갱신합니다. 그리고 clock_label.after(1000, update_clock)는 1초마다 update_clock() 함수를 호출하여 시간을 업데이트합니다.

타이머 기능 구현하기

이번에는 타이머 기능을 구현해 보겠습니다. 타이머 기능은 주어진 시간 동안 경과한 시간을 표시하는 기능입니다. 아래는 타이머를 구현하는 Tkinter 애플리케이션의 예시 코드입니다.

import tkinter as tk

def start_timer():
    global elapsed_time
    elapsed_time = 0
    update_timer()

def update_timer():
    global elapsed_time
    elapsed_time += 1
    timer_label.config(text=f"Elapsed Time: {elapsed_time} seconds")
    timer_label.after(1000, update_timer)

root = tk.Tk()
root.title("타이머 애플리케이션")

timer_label = tk.Label(root, font=("Arial", 20), fg="black")
timer_label.pack(pady=20)

start_button = tk.Button(root, text="Start Timer", command=start_timer)
start_button.pack(pady=10)

root.mainloop()

위 코드를 실행하면 Tkinter 창에 “Start Timer” 버튼이 표시됩니다. 버튼을 클릭하면 타이머가 시작되고 경과한 시간이 실시간으로 업데이트됩니다. start_timer() 함수는 elapsed_time 변수를 초기화하고, update_timer() 함수를 호출하여 경과한 시간을 표시합니다. update_timer() 함수에서는 elapsed_time의 값을 1씩 증가시키고, 타이머 라벨의 텍스트를 갱신합니다. 그리고 timer_label.after(1000, update_timer)는 1초마다 update_timer() 함수를 호출하여 시간을 업데이트합니다.

결론

이번 포스트에서는 Tkinter를 사용하여 시계 및 타이머 기능을 구현하는 방법에 대해 알아보았습니다. Tkinter는 파이썬에서 GUI 애플리케이션을 개발할 때 유용하게 사용될 수 있는 라이브러리입니다. 시계와 타이머 기능을 통해 Tkinter의 기본 구조와 사용법을 익히고, 이를 응용하여 다양한 유용한 애플리케이션을 개발할 수 있을 것입니다.