2024. 2. 25. 18:10ㆍGUI/tkinter
요약 : 이 튜토리얼에서는 Tkinter Text 위젯을 사용하여 애플리케이션에 텍스트 편집기를 추가하는 방법을 배웁니다.
Tkinter Text 위젯 소개
Text 위젯을 사용하면 다양한 스타일로 여러 줄의 텍스트 영역을 표시하고 편집할 수 있습니다. 일반 텍스트 외에도 Text위젯은 포함된 이미지와 링크를 지원합니다.
텍스트 위젯을 만들려면 다음 구문을 사용합니다.
text = tk.Text(master, conf={}, **kw)
이 구문에서는:
- master는 Text 위젯의 상위 구성요소 입니다.
- cnf는 위젯의 구성을 지정하는 사전입니다 .
- kw는 Text 위젯을 구성하는 데 사용되는 하나 이상의 키워드 인수 입니다.
Text 위젯은 Tkinter.ttk 모듈이 아닌 Tkinter 모듈에서만 사용할 수 있습니다.
다음 예에서는 8개의 행이 있는 Text 위젯을 생성하여 루트 창에 배치합니다.
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() 메서드를 사용합니다. 예를 들어:
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 |