상위 목록: 하위 목록: 작성 날짜: 읽는 데 1 분 소요

Separator(구분선)

Separator를 이용하여 위젯의 구역을 나눌 수 있는 구분선을 생성할 수 있습니다.



Separator 사용

import tkinter
import tkinter.ttk

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

button1=tkinter.Button(window, width=10, height=5, text="1번")
button1.grid(row=0, column=0)

button2=tkinter.Button(window, width=10, height=5, text="2번")
button2.grid(row=0, column=2)

button3=tkinter.Button(window, width=10, height=5, text="3번")	
button3.grid(row=1, column=1)
		
button4=tkinter.Button(window, width=10, height=5, text="4번")
button4.grid(row=2, column=0)
		
button5=tkinter.Button(window, width=10, height=5, text="5번")
button5.grid(row=2, column=2)

s=tkinter.ttk.Separator(window, orient="vertical")	
s.grid(row=0,column=1, sticky='ns')

s2=tkinter.ttk.Separator(window, orient="horizontal")	
s2.grid(row=1,column=2, sticky='ew')

s3=tkinter.ttk.Separator(window, orient="vertical")
s3.grid(row=1,column=0, sticky='ns')

window.mainloop()


import tkinter.ttk


상단에 import tkinter.ttk를 사용하여 ttk 모듈을 포함시킵니다.

tkinter.ttk 함수의 사용방법은 tkinter.ttk.*를 이용하여 사용이 가능합니다.


button1=tkinter.Button(window, width=10, height=5, text="1번")
button1.grid(row=0, column=0)

button2=tkinter.Button(window, width=10, height=5, text="2번")
button2.grid(row=0, column=2)

button3=tkinter.Button(window, width=10, height=5, text="3번")	
button3.grid(row=1, column=1)
		
button4=tkinter.Button(window, width=10, height=5, text="4번")
button4.grid(row=2, column=0)
		
button5=tkinter.Button(window, width=10, height=5, text="5번")
button5.grid(row=2, column=2)

s=tkinter.ttk.Separator(window, orient="vertical")	
s.grid(row=0,column=1, sticky='ns')

s2=tkinter.ttk.Separator(window, orient="horizontal")	
s2.grid(row=1,column=2, sticky='ew')

s3=tkinter.ttk.Separator(window, orient="vertical")
s3.grid(row=1,column=0, sticky='ns')

tkinter.ttk.Separator(윈도우 창, 매개변수1, 매개변수2, 매개변수3, ...)을 사용하여 구분선의 속성을 설정할 수 있습니다.

구분선.grid()의 매개변수에서 sticky의 값을 설정하여 할당된 공간 내에서의 위치를 조정할 수 있습니다.

Separator는 두께가 1~2 픽셀인 선이므로, sticky로 할당된 공간을 채우지 않으면 선이 거의 보이지 않습니다.

orient의 속성이 horizontal일 경우 sticky의 속성은 ew로 설정하여 가로로 늘립니다.

orient의 속성이 vertical일 경우 sticky의 속성은 ns로 설정하여 세로로 늘립니다.

  • Tip : pack()으로 배치할 때는 구분선.pack(fill="x")(horizontal) 또는 구분선.pack(fill="y")(vertical)로 설정하며, pady나 padx로 구분선 주변의 여백을 줄 수 있습니다.



Separator Parameter

구분선 형태 설정

이름 의미 기본값 속성
orient 구분선의 표시 방향 horizontal horizontal, vertical


구분선 형식 설정

이름 의미 기본값 속성
cursor 구분선의 마우스 커서 모양 - 커서 속성
class_ 클래스 설정 - -


구분선 동작 설정

이름 의미 기본값 속성
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

댓글 남기기