Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Tkinter로 실시간 디지털 시계 만들기

파이썬(Python)의 Tkinter는 데스크톱 및 웹 환경에서 다양한 GUI 프로그램을 손쉽게 개발할 수 있게 해주는 강력한 표준 라이브러리입니다. 이번 글에서는 현재 시간을 시(Hour), 분(Minute), 초(Second) 단위로 실시간으로 표시해 주는 디지털 시계를 만드는 방법을 단계별로 살펴보겠습니다.

구현 원리

디지털 시계를 구현하기 위해 다음과 같은 요소들을 활용합니다.

  • time 모듈: strftime 메서드를 사용하여 시:분:초 형식(%H:%M:%S)으로 현재 시간을 문자열로 가져옵니다.
  • Tkinter 윈도우: 시간 값을 화면에 표시할 캔버스(메인 창)와 레이블(Label)을 생성합니다.
  • 재귀 함수와 after 메서드: after()를 이용해 200밀리초(0.2초)마다 함수가 자기 자신을 다시 호출하도록 하여 시간을 지속적으로 갱신합니다.

예제 코드

import time
from tkinter import *

canvas = Tk()
canvas.title("Digital Clock")
canvas.geometry("350x200")
canvas.resizable(1,1)

label = Label(canvas, font=("Courier", 30, 'bold'), bg="blue", fg="white", bd=30)
label.grid(row=0, column=1)

def digitalclock():
    text_input = time.strftime("%H:%M:%S")
    label.config(text=text_input)
    label.after(200, digitalclock)

digitalclock()
canvas.mainloop()

코드 설명

  1. Tk()로 메인 윈도우를 생성하고 제목과 크기(350x200)를 설정합니다.
  2. Label 위젯을 만들어 Courier 볼드체 30pt 크기로, 파란색 배경에 흰색 글자가 표시되도록 스타일을 지정합니다.
  3. digitalclock() 함수 내부에서 time.strftime("%H:%M:%S")로 현재 시각을 가져와 레이블에 반영합니다.
  4. label.after(200, digitalclock)이 함수를 재귀적으로 호출하여 200밀리초마다 화면이 자동으로 갱신됩니다.

실행 결과

위 코드를 실행하면 파란색 배경의 창에 현재 시간이 실시간으로 흘러가는 디지털 시계가 나타납니다.

파이썬 Tkinter로 실시간 디지털 시계 만들기

이처럼 Tkinter의 after() 메서드와 time 모듈만 활용하면 몇 줄의 코드로도 간단하지만 완성도 높은 실시간 디지털 시계를 만들 수 있습니다. 날짜 표시나 알람 기능 등을 추가하면 더욱 확장된 응용 프로그램으로 발전시킬 수 있습니다.