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

파이썬 Tkinter 텍스트 상자 내용 삭제하는 방법 (delete 메서드 활용법)

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' 버튼이 화면에 나타납니다. 이 버튼을 누르면 텍스트 상자에 작성된 내용이 모두 삭제됩니다.

먼저 텍스트 상자 안에 원하는 문구를 입력해 보세요.

파이썬 Tkinter 텍스트 상자 내용 삭제하는 방법 (delete 메서드 활용법)

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

파이썬 Tkinter 텍스트 상자 내용 삭제하는 방법 (delete 메서드 활용법)

핵심 정리

  • delete("1.0", "end"): 텍스트 위젯의 처음부터 끝까지 전체 내용을 삭제합니다.
  • 인덱스 형식: "줄번호.문자위치" 형태로 지정하며, 시작 위치가 1.0입니다.
  • last=None: 두 번째 인자를 생략하면 first 위치의 문자 하나만 삭제됩니다.

이처럼 delete 메서드 하나만 활용하면 사용자 입력 초기화, 폼 리셋 등 다양한 상황에서 텍스트 상자의 내용을 간편하게 관리할 수 있습니다.