Python tkinter 강좌 : 제 13강 – Frame

   

Frame (프레임)


1

Frame을 이용하여 다른 위젯들을 포함하기 위한 프레임을 생성할 수 있습니다.



Frame 사용


import tkinter

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

frame1=tkinter.Frame(window, relief="solid", bd=2)
frame1.pack(side="left", fill="both", expand=True)

frame2=tkinter.Frame(window, relief="solid", bd=2)
frame2.pack(side="right", fill="both", expand=True)

button1=tkinter.Button(frame1, text="프레임1")
button1.pack(side="right")

button2=tkinter.Button(frame2, text="프레임2")
button2.pack(side="left")

window.mainloop()


frame1=tkinter.Frame(window, relief="solid", bd=2)
frame1.pack(side="left", fill="both", expand=True)

frame2=tkinter.Frame(window, relief="solid", bd=2)
frame2.pack(side="right", fill="both", expand=True)

button1=tkinter.Button(frame1, text="프레임1")
button1.pack(side="right")

button2=tkinter.Button(frame2, text="프레임2")
button2.pack(side="left")

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

파라미터를 사용하여 프레임의 속성을 설정합니다.

위젯의 파라미터 중 윈도우 창에서 프레임 이름을 이용하여 해당 프레임에 위젯을 포함시킬 수 있습니다.



Frame Parameter


프레임 형태 설정
이름의미기본값속성
width프레임의 너비0상수
height프레임의 높이0상수
relief프레임의 테두리 모양flatflat, groove, raised, ridge, solid, sunken
background=bg프레임의 배경 색상SystemButtonFacecolor
padx프레임의 테두리와 내용의 가로 여백1상수
pady프레임의 테두리와 내용의 세로 여백1상수



프레임 형식 설정
이름의미기본값속성
cursor프레임의 마우스 커서 모양-커서 속성
class_클래스 설정--
visual시각적 정보 설정--
colormap 256 색상을 지정하는 색상 맵 설정-new



프레임 하이라이트 설정
이름의미기본값속성
highlightcolor프레임이 선택되었을 때 색상SystemWindowFramecolor
highlightbackground프레임이 선택되지 않았을 때 색상SystemButtonFacecolor
highlightthickness프레임이 선택되었을 때 두께 (두께 설정)0상수



프레임 동작 설정
이름의미기본값속성
takefocusTab 키를 이용하여 위젯 이동 허용 여부FalseBoolean
container 응용 프로그램이 포함될 컨테이너로 사용FalseBoolean



참고

  • 내부에 위젯이 존재할 경우, widthheight 설정을 무시하고 크기 자동 조절

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

  • containerTrue로 설정하였을 경우, 프레임의 내부에 위젯이 포함되어 있지 않아야 함


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

⤧  Next post Python tkinter 강좌 : 제 14강 – Message ⤧  Previous post Python tkinter 강좌 : 제 12강 – 위젯 배치 : place