Python tkinter 강좌 : 제 30강 - Treeview
Treeview(표)
Treeview
을 이용하여 행과 열로 구성된 표
를 생성할 수 있습니다.
Treeview 사용
상단에 import tkinter.ttk
를 사용하여 ttk 모듈
을 포함시킵니다.
tkinter.ttk 함수의 사용방법은 tkinter.ttk.*
를 이용하여 사용이 가능합니다.
tkinter.ttk.Treeview(윈도우 창, 매개변수1, 매개변수2, 매개변수3, ...)
을 사용하여 표의 속성
을 설정할 수 있습니다.
표.column()
, 표.heading()
을 이용하여 행
을 설정할 수 있습니다.
표.insert()
를 이용하여 열
을 설정할 수 있습니다.
변수 이름
과 iid
는 서로 대체하여 사용할 수 있습니다.
Treeview Method
표 메서드 (1)
이름 | 의미 |
---|---|
column(col, column_option) | 표 열의 속성을 설정 |
heading(col, heading_option) | 표의 행 제목 설정 |
insert(상위 항목, 삽입 위치, option) | 표에 항목을 삽입 위치에 삽입 |
item(iid, option) | iid 값을 가지는 항목을 수정 |
move(iid, 상위 항목, 삽입 위치) | iid 값을 가지는 항목을 상위 항목의 삽입 위치로 이동 |
reattach(iid, 상위 항목, 삽입 위치) | iid 값을 가지는 항목을 상위 항목의 삽입 위치로 이동 (move와 동일) |
delete(iid) | iid 값을 가지는 항목 삭제 |
detach(iid) | iid 값을 가지는 항목 연결 해제 및 숨김 |
index(iid) | iid 값을 가지는 항목의 index 값 반환 |
focus(iid) | iid 값을 가지는 항목에 포커스 |
xview() | 가로스크롤 연결 |
yview() | 세로스크롤 연결 |
- Tip :
col
: #0은 열의 첫번째 위치를 의미, #1, #2, #3, … 또는 열의 이름1, 열의 이름2, 열의 이름3, …을 이용하여 열을 선택 가능
표 메서드 column_option
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
anchor | 행 제목의 문자열 위치 설정 | w | n, e, w, s, ne, nw, se, sw, center |
width | 열의 너비 | 200 | 상수 |
minwidth | 열의 최소 너비 | 20 | 상수 |
stretch | 위젯 크기 조정 시 열의 너비 조정 설정 여부 | TRUE | Boolean |
표 메서드 heading_option
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
text | 행 제목의 이름 | - | 문자열 |
image | 행 제목의 이미지 | - | - |
anchor | 열의 문자열 위치 설정 | w | n, e, w, s, ne, nw, se, sw, center |
command | 행 제목을 클릭할 때 실행하는 메서드(함수) | - | 메서드, 함수 |
표 메서드 option
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
text | 표 항목에 표시할 텍스트 | - | 문자열 |
image | 표에 포함할 임의 이미지 | - | - |
values | 표 행에 포함될 항목 | - | - |
open | 표의 하위 항목 숨김 여부 | False | Boolean |
tags | 표의 태그 이름 설정 | - | 문자열 |
iid | 표의 고유값 설정 | - | - |
표 메서드 (2)
이름 | 의미 |
---|---|
bbox(iid, column=상수) | iid 값을 가지는 행과 column 값의 (width, height, x, y) 값 반환 |
get_children() | 표의 하위 항목 반환 |
get_children(iid) | iid 값을 가지는 하위 항목 반환 |
set_children(iid, 하위 iid, 하위 iid, … ) | iid 값을 가지는 상위 항목에서 하위 iid값을 가지는 항목만 남김 |
exists(iid) | iid 값을 가지는 항목이 있다면 참 값 반환 |
identify(component, x, y) | 표의 x, y 위치에 지정된 component의 세부 사항 반환 |
identify_row(y) | 표의 y 위치의 iid 값을 반환 |
identify_column(x) | 표의 x 위치의 열 식별자 반환 |
identify_element(x, y) | 표의 x, y 위치에 요소를 반환 |
identify_region(x, y) | 표의 x, y 위치에 세부 사항 반환 |
next(iid) | iid 값을 가지는 항목의 다음 순서 iid 값 반환 |
parent(iid) | iid 값을 가지는 항목의 상위 항목 반환 |
prev(iid) | iid 값을 가지는 항목의 이전 순서 iid 값 반환 |
see(iid) | iid 값을 가지는 항목이 보이는지 확인 |
selection_set(iid) | iid 값을 가지는 항목 선택 |
selection_add(iid) | iid 값을 가지는 항목 다중 선택 |
selection_remove(iid) | iid 값을 가지는 항목 선택 취소 |
selection_toggle(iid) | iid 값을 가지는 항목 반전 선택 |
set(iid) | iid 값을 가지는 항목의 사전 값 반환 |
set(iid, column=col) | iid 값을 가지는 항목에서 col의 값 반환 |
set(iid, column=col, value=val) | iid 값을 가지는 항목에서 col의 값을 val로 변경 |
-
component : element, region, item, column, row
-
identify_region(x, y)의 반환값
- heading : 행 제목
- separator : 사이 간격 선
- tree : 열 제목
- cell : 셀 영역
표 태그 메서드
이름 | 의미 | 속성 |
---|---|---|
tag_bind(태그 이름, sequence=”이벤트”, callback=함수) | 태그 이름의 목록에서 이벤트가 실행되었을 때 함수를 실행 | - |
tag_configure(태그 이름, tag_option) | 태그 이름에 형태 설정 | - |
tag_has(태그 이름) | 태그 이름에 할당된 iid 값 반환 | - |
tag_has(태그 이름, item=iid) | 태그 이름과 iid 값 비교 | Boolean |
표 태그 메서드 sequence
이름 | 의미 |
---|---|
«TreeviewSelect> | 표의 항목이 선택될 때 |
«TreeviewOpen» | 표의 항목을 열 때 |
«TreeviewClose» | 표의 항목을 닫을 때 |
표 태그 메서드 tag_option
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
background | 표의 배경 색상 | SystemButtonFace | color |
foreground | 표의 문자열 색상 | SystemButtonFace | color |
image | 표에 포함할 임의 이미지 | - | - |
font | 표 안의 문자열 글꼴 설정 | TkDefaultFont | font |
Treeview Parameter
표 형태 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
height | 표의 행 높이 | 10 | 상수 |
padding | 표의 여백 | 0 | 상수 |
표 형식 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
cursor | 표의 마우스 커서 모양 | - | 커서 속성 |
class_ | 클래스 설정 | - | - |
columns | 표의 열 이름 설정 | - | 리스트 |
displaycolumns | 표의 열 순서 설정 | - | 리스트 |
selectmode | 표의 선택 형식 설정 | extended | extended, browse, none |
show | 표의 제목 표시 여부 | tree headings | tree headings, tree, headings |
표 동작 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
takefocus | Tab 키를 이용하여 위젯 이동 허용 여부 | False | Boolean |
참고
-
cursor 매개변수
- arrow, based_arrow_down, based_arrow_up, boat, bogosity, bottom_left_corner, bottom_right_corner, bottom_side, bottom_tee, box_spiral, center_ptr, circle, clock, coffee_mug, cross, cross_reverse, crosshair, diamond_cross, dot, dotbox, double_arrow, draft_large, draft_small, draped_box, exchange, fleur, gobbler, gumby, hand1, hand2, heart, icon, iron_cross, left_ptr, left_side, left_tee, leftbutton, ll_angle, lr_angle, man, middlebutton, mouse, pencil, pirate, plus, question_arrow, right_ptr, right_side, right_tee, rightbutton, rtl_logo, sailboat, sb_down_arrow, sb_h_double_arrow, sb_left_arrow, sb_right_arrow, sb_up_arrow, sb_v_double_arrow, shuttle, sizing, spider, spraycan, star, target, tcross, top_left_arrow, top_left_corner, top_right_corner, top_side, top_tee, trek, ul_angle, umbrella, ur_angle, watch, wait, xterm, X_cursor
-
selectmode 매개변수
extended
: Ctrl 키 또는 Shift 키를 활용하여 모록을 다중 선택 가능browse
: 한 번에 하나의 목록만 선택 가능none
: 목록 선택 불가
-
show 매개변수
tree headings
: 행 제목과 열 제목 표시tree
: 행 제목 표시하지 않음headings
: 열 제목 표시하지 않음
댓글 남기기