[python] Tkinter 창 닫기 이벤트 처리

Tkinter는 Python에서 GUI 애플리케이션을 개발할 때 가장 많이 사용되는 라이브러리 중 하나입니다. Tkinter를 사용하여 윈도우 창을 만들고 이벤트를 처리하는 방법을 알아보겠습니다.

윈도우 창 생성하기

Tkinter에서 윈도우 창을 생성하려면 Tk() 클래스를 사용해야 합니다. 다음과 같은 코드를 사용하여 윈도우 창을 만들 수 있습니다.

from tkinter import *

window = Tk()
window.title("나의 윈도우 창")

위 코드에서 title() 함수를 사용하면 윈도우 창의 제목을 설정할 수 있습니다.

윈도우 창 닫기 이벤트 처리하기

윈도우 창 닫기 버튼을 눌렀을 때 발생하는 이벤트를 처리하려면 protocol() 메서드와 WM_DELETE_WINDOW 상수를 사용해야 합니다. 다음은 이를 구현한 코드입니다.

def on_closing():
    # 종료할 때 수행해야하는 작업을 추가합니다.
    window.destroy()

window.protocol("WM_DELETE_WINDOW", on_closing)

위 코드에서 on_closing() 함수는 윈도우 창을 닫을 때 호출될 함수입니다. 예를 들어, 윈도우 창을 닫기 전에 어떤 작업을 처리하려면 해당 함수 내부에 작업을 추가하면 됩니다. window.protocol("WM_DELETE_WINDOW", on_closing) 코드는 윈도우 창 닫기 버튼 클릭 시 on_closing() 함수가 호출되도록 설정하는 부분입니다.

전체 코드 예시

from tkinter import *

def on_closing():
    # 종료할 때 수행해야하는 작업을 추가합니다.
    window.destroy()

window = Tk()
window.title("나의 윈도우 창")
window.protocol("WM_DELETE_WINDOW", on_closing)
window.mainloop()

위 코드를 실행하면 윈도우 창이 생성되고, 윈도우 창을 닫을 때 on_closing() 함수가 호출되며 윈도우 창이 정상적으로 종료됩니다.

이제 Tkinter를 사용하여 윈도우 창을 만들고 이벤트를 처리하는 방법에 대해 알아보았습니다. 이를 참고하여 여러분만의 GUI 애플리케이션을 개발해보세요!

참고 자료: