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

파이썬 Tkinter로 날짜 선택 캘린더 만들기 – tkcalendar 완벽 가이드

Tkinter는 파이썬에서 데스크톱 애플리케이션을 만들 때 가장 널리 사용되는 표준 GUI 라이브러리입니다. 다양한 메서드와 함수를 제공하여 버튼, 라벨, 입력창 등 여러 기능을 손쉽게 애플리케이션에 추가할 수 있습니다.

그중 tkcalendar는 Tkinter의 확장 패키지 중 하나로, 윈도우 안에 GUI 기반의 캘린더를 생성할 수 있게 해줍니다. 이 패키지를 활용하면 날짜 선택은 물론, 일정 조회나 이벤트 예약 같은 다양한 작업을 캘린더 애플리케이션을 통해 수행할 수 있습니다.

이번 글에서는 tkcalendar 패키지를 사용해 날짜 선택기(Date Picker) 캘린더를 만드는 방법을 알아보겠습니다. 시작하기 전에 먼저 로컬 환경에 패키지를 설치해야 합니다. 아래 명령어를 실행하세요.

pip install tkcalendar

설치가 완료되면 tkcalendar의 인스턴스를 생성하고, 선택한 날짜를 가져오는 버튼을 함께 만들어 보겠습니다.

예제 코드

# 라이브러리 임포트
from tkinter import *
from tkcalendar import *

# Tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
win.title("Calendar")
win.geometry("700x600")

# 캘린더 위젯 생성 (날짜 선택 모드, 초기 날짜 설정)
cal = Calendar(win, selectmode="day", year=2021, month=3, day=3)
cal.pack(pady=20)

# 선택한 날짜를 가져오는 함수 정의
def get_date():
    label.config(text=cal.get_date())

# 캘린더에서 날짜를 선택하는 버튼 생성
button = Button(win, text="Select the Date", command=get_date)
button.pack(pady=20)

# 선택된 날짜를 표시할 라벨 생성
label = Label(win, text="")
label.pack(pady=20)

win.mainloop()

실행 결과

위 코드를 실행하면 화면에 캘린더가 나타나며, 원하는 특정 날짜를 클릭해 선택할 수 있습니다. 캘린더에서 날짜를 고른 뒤 [Select the Date] 버튼을 누르면, 그 아래 라벨에 선택한 날짜가 즉시 표시됩니다.

파이썬 Tkinter로 날짜 선택 캘린더 만들기 – tkcalendar 완벽 가이드

주요 코드 설명

Calendar 위젯: selectmode를 "day"로 설정하면 일 단위로 날짜를 선택할 수 있으며, year, month, day 매개변수로 캘린더가 처음 열릴 때 표시될 초기 날짜를 지정할 수 있습니다.

get_date() 함수: cal.get_date() 메서드는 현재 선택된 날짜를 문자열 형태(예: "03/03/21")로 반환합니다. 이 값을 Label 위젯의 config() 메서드를 통해 화면에 출력합니다.

이처럼 tkcalendar를 활용하면 몇 줄의 코드만으로 직관적인 날짜 선택 기능을 구현할 수 있으며, 일정 관리 앱이나 예약 시스템 등 다양한 프로젝트에 응용할 수 있습니다.