파이썬으로 GUI 애플리케이션을 개발할 때 가장 널리 쓰이는 라이브러리 중 하나가 바로 Tkinter입니다. Tkinter는 다양한 메서드와 함수를 제공해 애플리케이션에 여러 기능을 손쉽게 추가할 수 있으며, 버튼·라벨 같은 기본 위젯은 물론 대화 상자(Dialog Box)까지 자유롭게 구현할 수 있습니다.
이 글에서는 화면에 팝업으로 띄워 정보를 보여 주고, 사용자가 옵션을 선택하도록 만드는 간단한 메시지 박스(Message Box)를 구현하는 방법을 알아봅니다.
메시지 박스 예제 코드
# 필요한 라이브러리 불러오기
from tkinter import *
from tkinter import messagebox
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x100")
# 버튼 클릭 시 실행될 함수 정의
def pop_up():
messagebox.showerror("Error! Please check and correct.")
messagebox.showwarning("Warning! You can not proceed.")
# 버튼 생성
Button(win, text="Click", command=pop_up).pack(pady=20)
# 윈도우 실행 유지
win.mainloop()코드 핵심 포인트
messagebox모듈을 별도로 임포트해야 메시지 박스 관련 함수를 사용할 수 있습니다.geometry()로 윈도우 크기를 지정하고,pack(pady=20)으로 버튼 주변에 여백을 줍니다.pop_up()함수는showerror()로 오류 창을 띄운 뒤, OK를 누르면 이어서showwarning()으로 경고 창을 표시합니다.mainloop()는 이벤트 루프를 시작해 윈도우가 닫히기 전까지 계속 실행되도록 유지합니다.
실행 결과
위 코드를 실행하면 다음과 같은 윈도우가 나타납니다.

“클릭(Click)” 버튼을 누르면 아래와 같은 오류 메시지 박스가 팝업으로 표시됩니다.

오류 메시지에서 OK 버튼을 누르면 이어서 아래와 같은 경고 메시지 박스가 나타납니다.

참고: messagebox 모듈의 주요 함수
Tkinter의 messagebox 모듈은 용도에 맞게 골라 쓸 수 있는 다양한 함수를 제공합니다.
- showinfo() – 정보성 안내 메시지를 표시합니다.
- showwarning() – 경고 메시지를 표시합니다.
- showerror() – 오류 메시지를 표시합니다.
- askquestion() – 질문과 함께 예/아니오를 선택받습니다.
- askyesno() – 예/아니오 확인 창을 띄우고 True/False를 반환합니다.
- askokcancel() – 확인/취소 창을 표시합니다.
- askretrycancel() – 재시도/취소 창을 표시합니다.
이처럼 messagebox 모듈만 잘 활용하면, 사용자에게 알림을 전달하거나 선택을 요청하는 UI를 단 몇 줄의 코드로 간단하게 완성할 수 있습니다.