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

Tkinter에서 Excel 스타일 표를 만들려면 어떤 위젯을 사용해야 할까? — Treeview 완벽 가이드

Tkinter는 파이썬(Python)의 표준 라이브러리로, GUI 기반 데스크톱 애플리케이션을 손쉽게 구축할 수 있도록 다양한 기능과 위젯을 제공합니다.

Excel 같은 표에는 Treeview 위젯이 정답

Tkinter에서 엑셀(Excel)과 유사한 표 형태의 데이터를 다루고 싶다면 Treeview 위젯을 사용하는 것이 가장 좋습니다. Treeview는 데이터를 행과 열로 구성된 테이블 형태로 깔끔하게 출력할 수 있는 대표적인 위젯으로, MS Excel처럼 열(column)을 추가·정의하고 값을 삽입한 뒤, NumPy나 Pandas 같은 파이썬 라이브러리와 연동해 백엔드에서 다양한 쿼리를 처리하는 것도 가능합니다.

Treeview 위젯 생성 방법

Treeview 위젯은 Treeview(parent, column=(**col), **options) 생성자를 통해 만들 수 있습니다. 위젯을 생성한 후에는 원하는 열을 추가하고 각 열에 데이터를 삽입하면 됩니다.

예제 코드

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

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

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

# Treeview 위젯 추가
tree = ttk.Treeview(win, column=("c1", "c2", "c3"), show='headings')
tree.column("# 1", anchor=CENTER)
tree.heading("# 1", text="ID")
tree.column("# 2", anchor=CENTER)
tree.heading("# 2", text="FName")
tree.column("# 3", anchor=CENTER)
tree.heading("# 3", text="LName")

# Treeview 위젯에 데이터 삽입
tree.insert('', 'end', text="1", values=('XYZ', 'ABC', '123'))
tree.pack()

win.mainloop()

실행 결과

위 코드를 실행하면 ID, FName, LName 세 개의 열과 하나의 데이터 행을 가진 표 형태의 창이 화면에 나타납니다. 이처럼 Treeview 위젯을 활용하면 별도의 외부 패키지 설치 없이도 Tkinter만으로 엑셀과 비슷한 테이블 UI를 간단히 구현할 수 있습니다.

추가로, 실무에서는 스크롤바(scrollbar)를 함께 연결하거나 Pandas DataFrame의 데이터를 반복문으로 삽입하여 더 많은 행을 효율적으로 표시하는 방식도 널리 사용되니 참고하시기 바랍니다.