Tkinter Text

2024. 2. 25. 18:10GUI/tkinter

요약 : 이 튜토리얼에서는 Tkinter Text 위젯을 사용하여 애플리케이션에 텍스트 편집기를 추가하는 방법을 배웁니다.

Tkinter Text 위젯 소개

Text 위젯을 사용하면 다양한 스타일로 여러 줄의 텍스트 영역을 표시하고 편집할 수 있습니다. 일반 텍스트 외에도 Text위젯은 포함된 이미지와 링크를 지원합니다.

텍스트 위젯을 만들려면 다음 구문을 사용합니다.

text = tk.Text(master, conf={}, **kw)

이 구문에서는:

  • master는 Text 위젯의 상위 구성요소 입니다.
  • cnf는 위젯의 구성을 지정하는 사전입니다 .
  • kw는 Text 위젯을 구성하는 데 사용되는 하나 이상의 키워드 인수 입니다.

Text 위젯은 Tkinter.ttk 모듈이 아닌 Tkinter 모듈에서만 사용할 수 있습니다.

다음 예에서는 8개의 행이 있는 Text 위젯을 생성하여 루트 창에 배치합니다.

In [ ]:
from tkinter import Tk, Text

root = Tk()
root.resizable(False, False)
root.title("Text Widget Example")

text = Text(root, height=8)
text.pack()


root.mainloop()
 
 

 

이 예에서 height 인수는 Text 위젯의 행 수를 지정합니다.

초기 내용 삽입

텍스트 영역에 내용을 삽입하려면 insert() 메서드를 사용합니다. 예를 들어:

In [ ]:
from tkinter import Tk, Text

root = Tk()
root.resizable(False, False)
root.title("Text Widget Example")

text = Text(root, height=8)
text.pack()

text.insert('1.0', 'This is a Text widget demo')

root.mainloop()
 
 

insert() 메서드의 첫 번째 인수는 텍스트를 삽입하려는 위치입니다.

위치의 형식은 다음과 같습니다.

'line.column'

위의 예에서는 '1.0'은 라인 1, 문자 0을 의미하며 이는 텍스트 영역의 첫 번째 라인의 첫 번째 문자입니다.

텍스트 값 검색

Text 위젯의 콘텐츠를 검색하려면, get() 메서드를 사용합니다. 예를 들어:

text_content = text.get('1.0','end')

이 get()메서드는 두 개의 인수를 허용합니다. 첫 번째 인수는 시작 위치이고 두 번째 인수는 종료 위치입니다.

텍스트의 일부만 검색하려면 시작 위치와 끝 위치를 다르게 지정할 수 있습니다.

텍스트 위젯 비활성화

사용자가 Text 위젯의 내용을 변경하는 것을 방지하려면, 다음과 같이 state 옵션을 설정하여 위젯을 'disabled' 할 수 있습니다.

text['state'] = 'disabled'

편집을 다시 활성화하려면 state 옵션을 다시 normal로 변경하면 됩니다.

text['state'] = 'normal'

요약

Tkinter Text 위젯을 사용하여 여러 줄의 텍스트 영역을 만듭니다.

 

'GUI > tkinter' 카테고리의 다른 글

Tkinter ScrolledText  (1) 2024.02.27
Tkinter Scrollbar  (1) 2024.02.26
Tkinter Frame  (1) 2024.02.24
Tkinter Place  (0) 2024.02.23
Tkinter Grid  (0) 2024.02.23