
이 강의는 Tkinter GUI 강의 49강입니다
48강에서는
messagebox를 사용해
정보, 경고, 오류 메시지를 표시하는 방법을 배웠습니다.
이번 강의에서는
메시지를 보여주는 것에서 한 단계 더 나아가
사용자의 선택을 받아 처리하는 방법을 다룹니다.
이번 강의의 목표는 분명합니다.
확인 다이얼로그의 반환값을 이해하고
사용자 선택에 따라 흐름을 제어하는 패턴을 익히는 것입니다.
확인 다이얼로그는 언제 필요한가
다음과 같은 상황에서는
반드시 사용자 확인이 필요합니다.
- 삭제, 종료 같은 되돌릴 수 없는 작업
- 저장 여부 선택
- 재시도 여부 결정
이때 사용하는 것이
확인(Confirm) 다이얼로그입니다.
messagebox 확인 함수 종류 정리
Tkinter에서
자주 사용하는 확인 다이얼로그는 다음과 같습니다.
- askyesno
- askokcancel
- askretrycancel
이 함수들은
True / False 값을 반환합니다.
askyesno 기본 사용법
result = messagebox.askyesno("제목", "정말 실행하시겠습니까?")
- Yes → True
- No → False
반환값을
조건문으로 처리하면 됩니다.
askyesno 예제
import tkinter as tk
from tkinter import messagebox
window = tk.Tk()
window.geometry("300x200")
def delete_item():
result = messagebox.askyesno("삭제 확인", "정말 삭제하시겠습니까?")
if result:
messagebox.showinfo("결과", "삭제되었습니다.")
else:
messagebox.showinfo("결과", "취소되었습니다.")
tk.Button(window, text="삭제", command=delete_item).pack(pady=60)
window.mainloop()
사용자의 선택에 따라
다른 동작을 수행합니다.

askokcancel 사용하기
askokcancel은
OK / Cancel 버튼을 제공합니다.
result = messagebox.askokcancel("종료", "프로그램을 종료할까요?")
- OK → True
- Cancel → False
종료, 저장 확인 등에
자주 사용됩니다.
askokcancel 예제
import tkinter as tk
from tkinter import messagebox
window = tk.Tk()
window.geometry("300x200")
def exit_app():
if messagebox.askokcancel("종료", "프로그램을 종료할까요?"):
window.quit()
tk.Button(window, text="종료", command=exit_app).pack(pady=60)
window.mainloop()
사용자 동의가 있을 때만
프로그램을 종료합니다.

askretrycancel 사용하기
오류 상황에서
재시도를 묻고 싶을 때
사용합니다.
result = messagebox.askretrycancel("오류", "작업에 실패했습니다. 다시 시도할까요?")
- Retry → True
- Cancel → False
askretrycancel 예제
import tkinter as tk
from tkinter import messagebox
window = tk.Tk()
window.geometry("300x200")
def run_task():
if messagebox.askretrycancel("오류", "작업 실패. 다시 시도할까요?"):
messagebox.showinfo("재시도", "다시 시도합니다.")
else:
messagebox.showinfo("중단", "작업을 중단합니다.")
tk.Button(window, text="작업 실행", command=run_task).pack(pady=60)
window.mainloop()
오류 처리 흐름이
자연스럽게 이어집니다.

확인 다이얼로그의 공통 특징
확인 다이얼로그는
다음 특징을 가집니다.
- 모달 다이얼로그
- 사용자 선택을 기다림
- True / False 반환
이 특성을 이해하면
흐름 제어가 쉬워집니다.
확인 다이얼로그 사용 시 주의점
확인 다이얼로그는
남용하면 안 됩니다.
- 너무 자주 뜨면 피로감
- 사소한 동작에는 부적합
중요한 결정 지점에만
사용하는 것이 좋습니다.
실무에서 자주 쓰는 패턴
가장 많이 쓰는 패턴은
다음과 같습니다.
- 삭제 전 → askyesno
- 종료 전 → askokcancel
- 실패 후 → askretrycancel
이 세 가지만 익혀도
충분히 실무에 대응할 수 있습니다.
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- 확인 다이얼로그는 선택을 받는다
- True / False 반환값을 사용한다
- 상황에 맞는 함수 선택이 중요하다
- 중요한 결정 지점에만 사용한다
다음 강의 예고
다음 강의에서는
파일 열기 다이얼로그 사용하기를 다룹니다.
이제
사용자 입력을 넘어
파일 시스템과 연결됩니다.
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 51강 파일 저장 다이얼로그 사용하기 (0) | 2026.02.15 |
|---|---|
| [Tkinter] 50강 파일 열기 다이얼로그 사용하기 (0) | 2026.02.14 |
| [Tkinter] 48강 messagebox 기본 사용법 (0) | 2026.02.13 |
| [Tkinter] 47강 팝업 메뉴 (Context Menu) 만들기 (0) | 2026.02.13 |
| [Tkinter] 46강 메뉴 명령 구조 설계하기 (0) | 2026.02.12 |