Tkinter는 버튼, 대화 상자, 위젯 등 다양한 기능과 모듈을 제공하여 완성도 높은 GUI 애플리케이션을 손쉽게 만들 수 있게 해주는 파이썬의 대표적인 GUI 라이브러리입니다.
텍스트 입력 위젯을 생성하려면 tkinter의 Text 또는 Entry 위젯 생성자를 사용하면 됩니다. 이 생성자는 tkinter 윈도우나 프레임을 인자로 받아 해당 창에 텍스트 상자를 배치합니다.
생성된 텍스트 상자의 내용을 삭제할 때는 내장 메서드인 delete(first, last=None)를 사용합니다. 이 메서드는 삭제할 범위를 인덱스 형태로 지정받으며, 예를 들어 ("1.0", "end")처럼 지정하면 첫 번째 줄의 첫 번째 문자부터 마지막 문자까지 전체 내용을 한 번에 제거할 수 있습니다.
예제 코드
다음 예제에서는 클릭 시 텍스트 상자의 모든 내용을 지우는 'Delete' 버튼을 만들어 보겠습니다.
from tkinter import *
win = Tk()
win.geometry("600x300")
label = Label(win, text="Write something ??", font=('Helvetica', 25))
label.pack(pady=20)
# 텍스트 위젯 생성
text = Text(win, height=10)
text.pack()
def delete():
text.delete("1.0", "end")
# 텍스트 위젯의 내용을 삭제하는 Delete 버튼 생성
b1 = Button(win, text="Delete", command=delete)
b1.pack(pady=10)
win.mainloop()실행 결과
위 코드를 실행하면 텍스트 상자와 함께 'Delete' 버튼이 화면에 나타납니다. 이 버튼을 누르면 텍스트 상자에 작성된 내용이 모두 삭제됩니다.
먼저 텍스트 상자 안에 원하는 문구를 입력해 보세요.

그런 다음 'Delete' 버튼을 클릭하면 텍스트 상자 안의 내용이 즉시 사라지는 것을 확인할 수 있습니다.

핵심 정리
- delete("1.0", "end"): 텍스트 위젯의 처음부터 끝까지 전체 내용을 삭제합니다.
- 인덱스 형식: "줄번호.문자위치" 형태로 지정하며, 시작 위치가 1.0입니다.
- last=None: 두 번째 인자를 생략하면 first 위치의 문자 하나만 삭제됩니다.
이처럼 delete 메서드 하나만 활용하면 사용자 입력 초기화, 폼 리셋 등 다양한 상황에서 텍스트 상자의 내용을 간편하게 관리할 수 있습니다.