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

Tkinter 텍스트 위젯 내용 전체 삭제하기: delete() 메서드 완벽 가이드

Tkinter Text 위젯이란?

Tkinter의 Text 위젯은 단순히 여러 줄을 입력할 수 있는 Entry 위젯 그 이상의 강력한 기능을 제공합니다. 다양한 색상으로 텍스트를 표현하거나, 하이퍼링크를 삽입하는 등 고급 기능도 손쉽게 구현할 수 있습니다.

텍스트 위젯 전체 지우기: delete("1.0", END)

응용 프로그램에서 Text 위젯을 생성한 뒤, 위젯에 입력된 모든 내용을 한 번에 지우고 싶다면 delete("1.0", END) 메서드를 사용하면 됩니다.

여기서 인덱스 "1.0"은 첫 번째 줄의 첫 번째 문자 위치를 의미하고, END는 텍스트의 가장 끝을 가리킵니다. 즉, 시작부터 끝까지의 모든 내용이 삭제되는 것입니다.

이 메서드는 일반적으로 콜백 함수나 이벤트 핸들러 안에서 호출되며, Button 클래스 객체를 통해 버튼 클릭 시점에 실행되도록 연결할 수 있습니다.

예제 코드

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

# Tkinter 프레임 인스턴스 생성
win = Tk()

# 창 크기 설정
win.geometry("750x250")

# 텍스트 위젯을 지우는 함수 정의
def clear():
    text.delete('1.0', END)

# Text 위젯 생성 및 초기 텍스트 삽입
text = Text(win, width=50, height=10)
text.insert("1.0", "This is my Text Widget")
text.pack(padx=5, pady=5)

# 모든 텍스트를 삭제하는 버튼 생성
Button(win, text="Clear All", command=clear, font="aerial 12 bold").pack(padx=5, pady=5)

win.mainloop()

실행 결과

위 코드를 실행하면 화면에 텍스트 위젯과 함께 해당 위젯의 내용을 지울 수 있는 버튼이 함께 표시됩니다.

Tkinter 텍스트 위젯 내용 전체 삭제하기: delete() 메서드 완벽 가이드

이제 "Clear All" 버튼을 클릭해 보세요. 텍스트 위젯 안에 있던 모든 내용이 한 번에 사라지는 것을 확인할 수 있습니다.

Tkinter 텍스트 위젯 내용 전체 삭제하기: delete() 메서드 완벽 가이드

정리

Tkinter Text 위젯의 전체 내용을 삭제하는 것은 delete("1.0", END) 메서드 하나로 간단하게 처리할 수 있습니다. 버튼의 command 옵션에 콜백 함수를 연결하면 사용자 인터랙션에 따라 위젯을 초기화하는 직관적인 UI를 만들 수 있습니다.