tkinter를 사용해 애플리케이션을 만드는 것은 비교적 쉽지만, 때로는 제목 표시줄의 X 버튼 외에 프로그램 내부의 버튼으로 창이나 프레임을 직접 닫아야 하는 경우가 있습니다. 이럴 때 .destroy() 메서드를 사용하면 현재 열려 있는 윈도우를 간단하게 종료할 수 있습니다.
tkinter의 위젯과 속성은 서로 독립적으로 동작하기 때문에, 버튼 클릭 시 호출될 별도의 함수를 정의하고 이를 버튼의 command 옵션에 연결하는 방식으로 창 닫기 기능을 손쉽게 구현할 수 있습니다.
예제 코드
# 라이브러리 임포트
from tkinter import *
# 윈도우 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x400")
# 창을 닫는 함수 정의
def close_win():
win.destroy()
# 라벨 생성
Label(win, text="버튼을 클릭하면 창이 닫힙니다",
font=('Poppins bold', 25)).pack(pady= 20)
# 버튼 생성
Button(win, text= "닫기", font=('Poppins bold', 16),
command=close_win).pack(pady=20)
win.mainloop()실행 결과
위 코드를 실행하면 다음과 같은 출력 창이 나타나며, [닫기] 버튼을 클릭하면 close_win() 함수가 호출되어 destroy() 메서드에 의해 윈도우가 종료됩니다.

참고 사항
destroy()는 해당 위젯과 그 하위 위젯까지 모두 제거하며, 메인 윈도우에 적용하면 mainloop()가 종료되면서 프로그램 전체가 끝납니다. 반면 quit()는 메인루프만 중단하므로, 창 자체를 완전히 닫으려면 destroy()를 사용하는 것이 좋습니다.