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

Tkinter 버튼으로 Python 프로그램 종료하는 방법 완벽 가이드

Tkinter로 만든 GUI 애플리케이션에서 버튼 클릭 한 번으로 창을 닫고 프로그램을 종료하는 방법을 알아보겠습니다. 몇 가지 간단한 단계만 거치면 누구나 쉽게 구현할 수 있습니다.

구현 단계

  • tkinter 라이브러리를 임포트하고 프레임 인스턴스를 생성합니다.

  • geometry() 메서드를 사용해 윈도우의 크기를 설정합니다.

  • 윈도우를 닫는 close() 함수를 정의합니다. 이 함수 내부에서 win.destroy() 메서드를 호출합니다.

  • 버튼을 생성하고 해당 버튼의 command 옵션에 close() 함수를 연결합니다.

  • 마지막으로 애플리케이션의 mainloop()를 실행합니다.

예제 코드

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

# 윈도우 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("700x350")

# 윈도우 제목 설정
win.title("버튼을 클릭하면 창이 닫힙니다")

# 윈도우를 닫는 함수 정의
def close():
   #win.destroy()
   win.quit()

# close() 함수를 호출하는 버튼 생성
Button(win, text= "창 닫기", font=("Calibri",14,"bold"), command=close).pack(pady=20)

win.mainloop()

실행 결과

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

Tkinter 버튼으로 Python 프로그램 종료하는 방법 완벽 가이드

버튼을 클릭하면 윈도우가 즉시 닫히면서 프로그램이 종료됩니다.

destroy()와 quit()의 차이점

예제 코드에서 볼 수 있듯이 win.destroy() 대신 win.quit()를 사용해서도 애플리케이션을 종료할 수 있습니다. 하지만 두 메서드에는 미묘하지만 중요한 차이가 있습니다.

win.quit()는 애플리케이션을 갑작스럽게 종료합니다. 이 경우 메인루프(mainloop)가 백그라운드에서 여전히 실행된 상태로 남아있게 됩니다.

반면 win.destroy()는 메인루프를 완전히 종료하고 윈도우 내부의 모든 위젯(widget)까지 함께 소멸시킵니다. 따라서 리소스를 깔끔하게 정리하며 프로그램을 종료하려면 win.destroy()를 사용하는 것이 더 안전하고 권장되는 방법입니다.