Python tkinter 강좌 : 제 17강 – Scale

   

Scale (수치 조정 바)


Scale을 이용하여 설정하기 위한 수치 조정 바를 생성할 수 있습니다.



Scale 사용


import tkinter

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

def select(self):
    value="값 : "+str(scale.get())
    label.config(text=value)

var=tkinter.IntVar()

scale=tkinter.Scale(window, variable=var, command=select, orient="horizontal", showvalue=False, tickinterval=50, to=500, length=300)
scale.pack()

label=tkinter.Label(window, text="값 : 0")
label.pack()

window.mainloop()


def select(self):
    value="값 : "+str(scale.get())
    label.config(text=value)

var=tkinter.IntVar()

scale=tkinter.Scale(window, variable=var, command=select, orient="horizontal", showvalue=False, tickinterval=50, to=500, length=300)
scale.pack()

label=tkinter.Label(window, text="값 : 0")
label.pack()

tkinter. Scrollbar(윈도우 창, 파라미터1, 파라미터2, 파라미터3, ...)을 사용하여 해당 윈도우 창에 표시할 수치 조정 바의 속성을 설정할 수 있습니다.

파라미터를 사용하여 수치 조정 바의 속성을 설정합니다.

수치 조정 바를 생성 후, command 파라미터를 적용할 함수와 연결합니다.


  • Tip : scale.get()는 현재 수치 조정 바에 표시된 값을 가져오며, var.get()var에 저장된 값을 가져옵니다.




Scale Method###


이름의미설명
set()값 변경수치 조정 바의 값을 변경
get()값 반환수치 조정 바의 값을 반환



Scale Parameter


수치 조정 바 텍스트 설정
이름의미기본값속성
label수치 조정 바에 표시되는 문자-문자
showvalue수치 조정 바에 값 표시 유/무TrueBoolean



수치 조정 바 형태 설정
이름의미기본값속성
width수치 조정 바의 슬라이드 너비15상수
length수치 조정 바의 길이100상수
relief수치 조정 바의 테두리 모양flatflat, groove, raised, ridge, solid, sunken
borderwidth=bd수치 조정 바의 테두리 두께0상수
background=bg수치 조정 바의 배경 색상SystemButtonFacecolor
troughcolor수치 조정 바의 내부 배경 색상SystemScrollbarcolor
orient수치 조정 바의 표시 방향verticalvertical, horizontal
sliderlength수치 조정 바의 슬라이더 길이30상수
sliderrelief수치 조정 바의 슬라이더 테두리 모양raisedflat, groove, raised, ridge, solid, sunken
tickinterval수치 조정 바의 수치 값 간격0상수



수치 조정 바 형식 설정
이름의미기본값속성
font수치 조정 바의 문자열 글꼴 설정TkDefaultFontfont
cursor수치 조정 바의 마우스 커서 모양-커서 속성
digits수치 조정 바의 숫자 값을 문자열로 변활 할 때 사용할 숫자의 수0상수
from_수치 조정 바의 최솟값0상수
to수치 조정 바의 최댓값100상수
resolution수치 조정 바의 간격1상수



수치 조정 바 상태 설정
이름의미기본값속성
state상태 설정normalnormal, active, disabled
activebackgroundactive 상태일 때 수치 조정 바의 슬라이더 색상SystemButtonFacecolor



수치 조정 바 하이라이트 설정
이름의미기본값속성
highlightcolor수치 조정 바가 선택되었을 때 색상SystemWindowFramecolor
highlightbackground수치 조정 바가 선택되지 않았을 때 색상SystemButtonFacecolor
highlightthickness수치 조정 바가 선택되었을 때 두께 (두께 설정)2상수



수치 조정 바 동작 설정
이름의미기본값속성
takefocusTab 키를 이용하여 위젯 이동 허용 여부FalseBoolean
command수치 조정 바가 active 상태일 때 실행하는 메소드(함수)-메소드, 함수
variable수치 조정 바의 상태를 저장할 제어 변수-tkinter.IntVar(), tkinter.StringVar()
bigincrement수치 조정 바가 Tab된 상태에서 Ctrl 키를 이용하여 한 번에 이동할 양0상수
repeatdelay버튼이 눌러진 상태에서 command 실행까지의 대기 시간300상수(ms)
repeatinterval버튼이 눌러진 상태에서 command 실행의 반복 시간100상수(ms)



참고

  • tickinterval를 설정하였을 경우, 수치 조정 바에 tickinterval 값 마다 수치가 표시됨

  • 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를 설정하였을 경우, 수치 조정 바가 선택되지 않았을 때에도 두께가 표시됨

  • takefocusTrue로 설정한 뒤, Tab이 된 상태에서 Ctrl키와 좌우 방향키를 동시에 눌러 bigincrement 의 값 만큼 한 번에 이동됨

  • repeatdelay=100 일 경우, 누르고 있기 시작한 0.1초 후command가 실행됨

  • repeatdelay=1000, repeatinterval=100 일 경우, 1초 후에 command가 실행되며 0.1초마다 버튼을 뗄 때까지 command가 계속 실행됨


도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python tkinter 강좌 : 제 18강 – Text ⤧  Previous post Python tkinter 강좌 : 제 16강 – Scrollbar