Python tkinter Treeview에 대해 살펴보겠습니다.
Treeview는 그리드 표를 출력하는 데 사용하는 유용한 위젯입니다.
Treeview 만들기
Treeview는 tkinter.ttk 모듈에 Treeview(window) 함수로 생성합니다.
매개변수로 Treeview가 생성될 window를 넣어준 뒤 화면에 배치합니다.
import tkinter
import tkinter.ttk
window = tkinter.Tk()
window.title("Tkinter Treeview")
window.geometry("600x400+200+200")
treeview = tkinter.ttk.Treeview(window,
column=["name", "age", "grade"],
displaycolumns=["name", "age", "grade"])
treeview.pack()
Treeview 생성시 옵션으로 column ( 칼럼의 이름 ), displaycolumns ( 칼럼 순서 )를 설정해주었습니다.
Treeview 컬럼 설정 하기
Treeview의 컬럼과 헤더 부분 설정을 해줍니다.
treeview.column("name", width=100, anchor="center")
treeview.heading("name", text="이름", anchor="center")
treeview.column("age", width=50, anchor="center")
treeview.heading("age", text="나이", anchor="center")
treeview.column("grade", width=50, anchor="center")
treeview.heading("grade", text="등급", anchor="center")
# 컬럼제목만 보이게함
treeview["show"] = "headings"
Treeview 표에 행 입력하기
treeValueList = [("Aiden", 20, "A"),
("Matthew", 19, "B"),
("John", 21, "C")]
for i in range(len(treeValueList)):
treeview.insert("", "end", text="", values=treeValueList[i], iid=i)
window.mainloop()
tuple형태의 데이터를 treeview에 입력해줍니다.
이 정도로 기본적인 사용법은 마치고
메서드 및 옵션들에 대해 살펴보겠습니다.
Treeview 함수들
이름 | 기능 |
column(column, option) | 표 열의 속성 column : #0, #1 또는 열 이름으로 컬럼선택 <option> anchor(문자열 정렬) : n, e, w, s, ne, nw, se, sw, center width: 열 너비 minwidth: 열 최소 너비 stretch(위젯 크기 조정시 열 너비조정) : True/False |
heading(column, option) | 표 헤더의 속성 column : #0, #1 또는 열 이름으로 컬럼선택 <option> text: 열 헤더이름 image: 열 헤더 이미지 anchor(문자열 정렬) : n, e, w, s, ne, nw, se, sw, center command: 헤더 클릭시 실행할 함수 |
insert(상위항목, 삽입 위치, option) | insert > 표에 항목 추가 item > iid 값에 해당하는 항목을 수정 <option> text: 표에 표시할 텍스트 image: 표에 포함할 이미지 values: 표 행에 포함될 항목들 iid: 표의 고유값 |
item(iid, option) | |
move(iid, 상위 항목, 삽입 위치) | iid 값을 가진 항목을 상위항목의 삽입 위치로 이동 |
delete(iid) | iid 값을 가진 항목을 삭제 |
detatch(iid) | iid 값을 가진 항목을 연결 해제 및 숨김 |
index(iid) | iid 값을 가진 항목의 index 반환 |
focus(iid) | iid 값을 가진 항목에 포커스 |
get_children() | 표의 하위 항목들 반환 |
get_children(iid) | iid 값을 가진 항목 반환 |
exists(iid) | iid 값을 가진 항목이 있는지 여부 반환 |
next(iid) | iid 값을 가진 항목의 다음항목 iid 값 반환 |
prev(iid) | iid 값을 가진 항목의 이전항목 iid 값 반환 |
see(iid) | iid 값을 가진 항목이 보이는지 여부 반환 |
selection_set(iid) | iid 값을 가진 항목 선택 |
selection_remove(iid) | iid 값을 가진 항목 선택 취소 |
selection_toggle(iid) | iid 값을 가진 항목 토글 (선택반전) |
xview() | 가로스크롤 연결 |
yview() | 세로스크롤 연결 |
Treeview 옵션들
이름 | 기능 | 기본값 | 속성 |
height | 표의 행 높이 | 10 | 숫자 |
padding | 표의 내부여백 | 0 | 숫자 |
columns | 표의 열 이름 설정 | 리스트 | |
displaycolumns | 표의 열 순서 설정 | 리스트 | |
selectmode | 표의 선택형식 설정 | extended | extended : Ctrl또는 Shift키 활용하여 다중선택 browse: 하나의 항목만 선택 none: 선택 불가 |
show | 표의 제목 표시여부 | tree headings | tree headings: 행 / 열 제목 표시 tree: 행 제목만 표시 headings: 열 제목만 표시 |
class_ | 클래스 설정 |