Python tkinter 강좌 : 제 16강 - Scrollbar

Python tkinter Scrollbar

Python tkinter 강좌 : 제 16강 - Scrollbar
[ Python-Tkinter ] - 윤대희

Scrollbar(스크롤바)


1

Scrollbar을 이용하여 위젯스크롤을 적용하기 위한 스크롤바을 생성할 수 있습니다.



Scrollbar 사용


import tkinter

window=tkinter.Tk()
window.title("YUN DAE HEE")
window.geometry("640x400+100+100")
window.resizable(False, False)

frame=tkinter.Frame(window)

scrollbar=tkinter.Scrollbar(frame)
scrollbar.pack(side="right", fill="y")

listbox=tkinter.Listbox(frame, yscrollcommand = scrollbar.set)
for line in range(1,1001):
   listbox.insert(line, str(line) + "/1000")
listbox.pack(side="left")

scrollbar["command"]=listbox.yview

frame.pack()

window.mainloop()


frame=tkinter.Frame(window)

scrollbar=tkinter.Scrollbar(frame)
scrollbar.pack(side="right", fill="y")

listbox=tkinter.Listbox(frame, yscrollcommand = scrollbar.set)
for line in range(1,1001):
   listbox.insert(line, str(line) + "/1000")
listbox.pack(side="left")

scrollbar["command"]=listbox.yview

frame.pack()

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가 계속 실행됨


Book Image

책이 출간되었습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C# OpenCvSharp4
  • Python OpenCV4
  • Using Tesseract
  • Using TensorFlow
  • Using Regular Expression
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python tkinter 강좌 : 제 15강 - Canvas ⤧  Next post Python tkinter 강좌 : 제 17강 - Scale
    Python-Tkinter Category