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

Python Tkinter – 텍스트(Text) 위젯으로 테이블 편집기 표시하는 방법

Tkinter는 파이썬 기반의 GUI 툴킷으로, 완성도 높은 데스크톱 애플리케이션을 만들 때 널리 사용됩니다. 다양한 모듈과 클래스 라이브러리를 제공하기 때문에 개발자가 사용자 친화적인 프로그램을 빠르고 쉽게 구축할 수 있습니다.

Tkinter의 Text 위젯은 여러 줄의 텍스트 입력을 받을 수 있는 텍스트 편집기를 만들 수 있게 해주며, 속성과 특성을 자유롭게 설정하고 커스터마이징할 수 있습니다. 만약 Text 위젯만 이용해서 2차원 데이터를 테이블 형태로 보여주고 싶다면, 먼저 테이블에 표시할 데이터를 담은 2차원 배열을 생성해야 합니다.

구현 단계

아래 순서대로 진행하면 됩니다.

  • 필요한 라이브러리를 임포트합니다.

  • 행과 열로 구성된 데이터를 담은 2차원 배열을 만듭니다.

  • 각 행과 열을 반복하면서 Text 위젯을 생성합니다.

  • grid(row, col) 지오메트리 매니저를 사용해 데이터를 행과 열의 격자 형태로 배치합니다.

  • 배열의 데이터를 각 Text 위젯에 삽입합니다.

  • 코드를 실행하여 결과를 확인합니다.

예제 코드

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

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

# 윈도우 크기 설정
win.geometry("700x350")

# 테이블에 표시할 2차원 배열 데이터
array = [("1","2","3","4","5", "6", "7"),("Sun","Mon","Tue","Wed","Thu", "Fri", "Sat"),("aaa","acc","add","aee","abb", "abd", "acd"),("A","B","C","D","E","F","G")]

for x in range(4):
    for y in range(7):
        text = Text(win, width=10, height=5)
        text.grid(row=x,column=y)
        text.insert(END, array[x][y])

win.mainloop()

실행 결과

위 코드를 실행하면 여러 개의 행과 열로 나뉘어진 테이블 형태의 Text 위젯 화면이 나타납니다. 각 셀은 일반 Text 위젯이므로, 사용자가 직접 내용을 수정하거나 폰트·배경색 등 다양한 속성을 자유롭게 변경할 수 있습니다. 이 방식을 응용하면 별도의 서드파티 라이브러리 없이도 간단한 스프레드시트나 데이터 편집 화면을 구성할 수 있습니다.