Tkinter 애플리케이션에서 여러 줄의 사용자 입력을 받을 수 있는 텍스트 편집기를 구현하려면 Text 위젯을 사용하면 됩니다. Tkinter의 Text 위젯은 주로 텍스트 편집기를 만드는 데 활용되며, 텍스트를 작성하는 것은 물론 선택, 수정 등 다양한 편집 작업을 손쉽게 처리할 수 있습니다.
tag_add() 메서드로 텍스트 하이라이트하기
특정 텍스트를 하이라이트하고 강조된 부분에 색상을 지정하려면 tag_add("start", "first", "second") 메서드를 사용하면 됩니다. 이 메서드는 Text 위젯에서 지정된 범위의 텍스트를 선택하기 위해 시작 인덱스와 끝 인덱스 두 개의 인자를 받습니다. 이후 tag_configure() 메서드로 해당 태그를 설정하면 하이라이트된 텍스트에 배경색과 글자색을 자유롭게 지정할 수 있습니다.
참고로 Tkinter의 텍스트 인덱스는 "행.열" 형식을 사용합니다. 행 번호는 1부터, 열 번호는 0부터 시작하므로 "1.8"은 첫 번째 줄의 9번째 문자 위치를 의미합니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x350")
# 새 프레임 생성
frame = Frame(win)
# 텍스트 위젯 생성
text = Text(frame)
# 초기 텍스트 삽입
text.insert(INSERT, "Hello, Welcome to TutorialsPoint.com")
text.pack()
# 지정된 범위의 텍스트에 태그 추가
text.tag_add("start", "1.8", "1.35")
text.tag_configure("start", background="black", foreground="yellow")
frame.pack()
win.mainloop()실행 결과
위 코드를 실행하면 Text 위젯 안에서 "Welcome to TutorialsPoint.com" 부분이 검은색 배경과 노란색 글자로 하이라이트되어 표시됩니다.

정리
이처럼 tag_add()로 범위를 지정하고 tag_configure()로 스타일을 정의하면, 코드 몇 줄만으로도 특정 텍스트를 원하는 색상으로 강조할 수 있습니다. 이 방법은 문법 강조 기능이 있는 간단한 코드 편집기나 로그 뷰어를 만들 때도 유용하게 활용할 수 있습니다.