Tkinter의 레이블(Label) 위젯은 애플리케이션 화면에 텍스트나 이미지를 표시할 때 사용됩니다. 또한 생성된 레이블 위젯의 글꼴, 크기, 색상 등 다양한 속성을 자유롭게 설정할 수 있습니다.
그렇다면 이미 생성된 레이블을 화면에서 제거하려면 어떻게 해야 할까요? Tkinter에서는 destroy() 메서드를 호출하여 위젯을 삭제할 수 있습니다. 이 메서드는 해당 위젯을 메모리에서 완전히 제거하므로, 삭제된 레이블은 더 이상 화면에 나타나지 않습니다.
예제 코드
다음 예제에서는 버튼을 클릭하면 1초(1000밀리초) 후에 레이블이 자동으로 삭제되는 프로그램을 만들어 보겠습니다.
# 필요한 라이브러리를 가져옵니다
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk
# tkinter 프레임(윈도우) 인스턴스를 생성합니다
win = Tk()
# 윈도우 크기를 설정합니다
win.geometry("700x350")
def on_click():
# 1초 후 레이블을 삭제하도록 예약합니다
label.after(1000, label.destroy())
# 레이블 위젯을 생성합니다
label = Label(win, text=" Deleting a Label in Python Tkinter", font=('Helvetica 15'))
label.pack(pady=20)
# 레이블을 삭제하는 버튼을 추가합니다
ttk.Button(win, text="Delete", command=on_click).pack()
win.mainloop()실행 결과
위 코드를 실행하면 레이블 위젯과 'Delete' 버튼이 배치된 창이 나타납니다.

이제 버튼을 클릭해 보세요. 약 1초 후에 창에서 레이블이 사라지는 것을 확인할 수 있습니다.

핵심 정리
- destroy(): 위젯을 완전히 삭제하여 메모리에서 제거합니다.
- after(ms, func): 지정한 밀리초 이후에 특정 함수를 실행하도록 예약합니다.
- 두 메서드를 조합하면 버튼 클릭 후 일정 시간 뒤에 위젯을 자동으로 제거하는 동작을 쉽게 구현할 수 있습니다.