Python tkinter 강좌 : 제 16강 - Scrollbar
Scrollbar(스크롤 바)
Scrollbar
을 이용하여 위젯
에 스크롤
을 적용하기 위한 스크롤바
을 생성할 수 있습니다.
Scrollbar 사용
tkinter.Scrollbar(윈도우 창, 매개변수1, 매개변수2, 매개변수3, ...)
을 사용하여 해당 윈도우 창
에 표시할 스크롤바의 속성
을 설정할 수 있습니다.
매개변수
를 사용하여 스크롤바의 속성
을 설정합니다.
스크롤바
를 생성 후, 스크롤바의 객체
를 생성하여 위젯과 위젯을 연결
합니다.
이 후, command
매개변수를 적용할 위젯
과 연결합니다.
- Tip :
스크롤바
와연결된 위젯
은 각각의 객체이므로프레임
으로 연결하여 사용하는 것을 권장합니다.
Scrollbar Method
이름 | 의미 | 설명 |
---|---|---|
set | 스크롤 부착 | 위젯에 스크롤바 적용 |
set(좌측상단, 우측하단) | 스크롤 부착 | 위젯에 스크롤바의 좌측상단 좌표와 우측하단 좌표에 고정 |
get() | (좌측상단, 우측하단) 반환 | 현재 스크롤바의 좌측상단 좌표와 우측하단 좌표를 반환 |
Scrollbar Parameter
스크롤바 형태 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
width | 스크롤바의 너비 | 17 | 상수 |
relief | 스크롤바의 테두리 모양 | flat | flat, groove, raised, ridge, solid, sunken |
borderwidth=bd | 스크롤바의 테두리 두께 | 0 | 상수 |
background=bg | 스크롤바의 배경 색상 | SystemButtonFace | color |
elementborderwidth | 스크롤 요소의 테두리 두께 | -1 | 상수 |
orient | 스크롤의 표시 방향 | vertical | vertical, horizontal |
스크롤바 형식 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
cursor | 스크롤바의 마우스 커서 모양 | - | 커서 속성 |
스크롤바 상태 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
activebackground | active 상태일 때 스크롤바의 배경 색상 | SystemButtonFace | color |
activerelief | active 상태일 때 스크롤바의 테두리 모양 | raised | flat, groove, raised, ridge, solid, sunken |
스크롤바 하이라이트 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
highlightcolor | 스크롤바가 선택되었을 때 색상 | SystemWindowFrame | color |
highlightbackground | 스크롤바가 선택되지 않았을 때 색상 | SystemButtonFace | color |
highlightthickness | 스크롤바가 선택되었을 때 두께 (두께 설정) | 0 | 상수 |
스크롤바 동작 설정
이름 | 의미 | 기본값 | 속성 |
---|---|---|---|
takefocus | Tab 키를 이용하여 위젯 이동 허용 여부 | True | Boolean |
command | 스크롤이 active 상태일 때 실행하는 메서드(함수) | - | 메서드, 함수 |
jump | 스크롤이 동작할때 마다 command callback 호출 | False | Boolean |
repeatdelay | 버튼이 눌러진 상태에서 command 실행까지의 대기 시간 | 300 | 상수(ms) |
repeatinterval | 버튼이 눌러진 상태에서 command 실행의 반복 시간 | 100 | 상수(ms) |
참고
-
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
highlightbackground
를 설정하였을 경우, 스크롤바가 선택되지 않았을 때에도 두께가 표시됨
-
repeatdelay=100
일 경우, 누르고 있기 시작한 0.1초 후에command
가 실행됨 -
repeatdelay=1000
,repeatinterval=100
일 경우, 1초 후에 command가 실행되며 0.1초마다 버튼을 뗄 때까지command
가 계속 실행됨
댓글 남기기