Tkinter의 Treeview 위젯은 데이터를 행과 열 형태로 계층 구조를 갖춰 표시하는 데 사용됩니다. Treeview 위젯을 생성하려면 먼저 Treeview(master, column, show='headings') 생성자를 호출해야 합니다. 이때 테이블에 포함하고 싶은 열 목록을 지정해 column 매개변수에 전달할 수 있습니다.
Treeview 위젯의 데이터 인덱싱은 0부터 시작합니다. 따라서 첫 번째 열이 별도로 카운트되지 않도록 하려면 show='headings' 매개변수를 반드시 지정해야 합니다. 이번 글에서는 자동차 제조사 정보를 담은 "ID"와 "Company" 두 개의 열로 구성된 테이블을 화면에 출력하는 애플리케이션을 만들어 보겠습니다. 각 열에는 insert() 메서드를 사용해 데이터를 손쉽게 삽입할 수 있습니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# tkinter 프레임 인스턴스 생성
win = Tk()
# tkinter 창 크기 설정
win.geometry("700x300")
# Style 위젯 인스턴스 생성
style = ttk.Style()
style.theme_use('clam')
# Treeview 위젯 추가
tree = ttk.Treeview(win, column=("c1", "c2"), show='headings', height=8)
tree.column("# 1", anchor=CENTER)
tree.heading("# 1", text="ID")
tree.column("# 2", anchor=CENTER)
tree.heading("# 2", text="Company")
# Treeview 위젯에 데이터 삽입
tree.insert('', 'end', text="1", values=('1', 'Honda'))
tree.insert('', 'end', text="2", values=('2', 'Hyundai'))
tree.insert('', 'end', text="3", values=('3', 'Tesla'))
tree.insert('', 'end', text="4", values=('4', 'Wolkswagon'))
tree.insert('', 'end', text="5", values=('5', 'Tata Motors'))
tree.insert('', 'end', text="6", values=('6', 'Renault'))
tree.pack()
win.mainloop()실행 결과
위 코드를 실행하면 차량 제조사 목록이 표시된 Treeview 위젯이 나타납니다.

또한 insert() 메서드를 활용하면 기존에 입력된 행과 열의 값을 수정하거나 교체할 수도 있습니다.