Tkinter ScrolledText

2024. 2. 27. 17:59GUI/tkinter

요약 : 이 튜토리얼에서는 텍스트 위젯과 수직 스크롤바 위젯으로 구성된 Tkinter ScrolledText 위젯을 사용하는 방법을 배우게 됩니다 .

Tkinter ScrolledText 위젯 소개

지금까지 텍스트 위젯을 만드는 방법과 수직 스크롤바를 텍스트 위젯에 연결하는 방법을 배웠습니다.

보다 편리하게 하기 위해 Tkinter는 수직 스크롤 막대에 연결된 텍스트 위젯과 동일한 작업을 수행하는 ScrolledText 위젯을 제공합니다.

ScrolledText 위젯을 사용하려면 tkinter.scrolledtext 모듈에서 ScrolledText 클래스를 가져와야 합니다.

기술적으로 ScrolledText 클래스는 Text 클래스에서 상속됩니다.

ScrolledText 위젯은 컨테이너와 Scrollbar 위젯을 보유한 Text 위젯 사이에 삽입된 Frame 위젯을 사용 합니다.

따라서 ScrolledText에는 Text 위젯과 동일한 속성 및 메서드가 있습니다. 또한 pack, Grid 및 place를 포함한 지오메트리 관리자 메서드는 Frame에 제한됩니다.

ScrolledText 위젯 예

다음 프로그램은 ScrolledText위젯을 생성하는 방법을 보여줍니다.

In [3]:
import tkinter as tk
from tkinter.scrolledtext import ScrolledText


root = tk.Tk()
root.title("ScrolledText Widget")


st = ScrolledText(root, width=50,  height=10)
st.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)

root.mainloop()

 

동작 방식:

  • 먼저 tkinter 모듈과 tkinter.scrolledtext 모듈에서 ScrolledText 클래스를 가져옵니다.
  • 둘째, 루트 창을 만들고 제목을 'ScrolledText Widget'로 합니다.
  • 셋째, 새 ScrolledText 위젯을 생성하여 루트 창에 표시합니다.
  • 마지막으로 메인 루프를 시작합니다.

다음은 동일한 프로그램이지만 객체 지향 프로그래밍 접근 방식을 사용하여 작성된 것입니다.

In [4]:
import tkinter as tk
from tkinter.scrolledtext import ScrolledText


class App(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("ScrolledText Widget")
        st = ScrolledText(self, width=50, height=10)
        st.pack(fill=tk.BOTH, side=tk.LEFT, expand=True)


if __name__ == "__main__":
    app = App()
    app.mainloop()

요약

  • 수직 Scrollbar을 가진 Text 위젯을 만들기 위해 Tkinter ScrolledText 위젯을 사용합니다.

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

Tkinter Checkbox  (0) 2024.02.29
Tkinter Separator  (0) 2024.02.28
Tkinter Scrollbar  (1) 2024.02.26
Tkinter Text  (0) 2024.02.25
Tkinter Frame  (1) 2024.02.24