tkinter
Tkinter 기하학 관리자
수색…
소개
위젯을 배치 할 수있는 기하학 관리자는 pack()
, grid()
및 place()
입니다.
팩()
pack()
지오메트리 관리자는 위젯을 부모 위젯에 배치하기 전에 위젯을 블록으로 구성합니다. fill
, expand
및 side
옵션을 사용합니다.
통사론
widget.pack(option)
가득 따르다
위젯이 필요한 최소 공간을 유지하는지 또는 할당 된 추가 공간을 차지하는지 결정합니다. 속성 : NONE (기본값), X (가로 채우기), Y (세로 채우기) 또는 BOTH (가로 및 세로 채우기).
넓히다
YES로 설정하면 위젯이 확장되어 위젯의 부모에서 사용되지 않은 공간을 채 웁니다. 속성 : 예, 아니오.
측면
팩의 위젯 부모 측을 결정합니다. 속성 : TOP (기본값), BOTTOM, LEFT 또는 RIGHT.
예
from tkinter import *
root = Tk()
btn_fill = Button(root, text="Button")
btn_fill.pack(fill=X)
btn_expand = Button(root, text="Button")
btn_expand.pack(expand=YES)
btn_side = Button(root, text="Button")
btn_side.pack(side=RIGHT)
root.mainloop()
결과
그리드()
grid()
지오메트리 관리자는 상위 위젯의 테이블과 같은 구조로 위젯을 구성합니다. 마스터 위젯은 행과 열로 나뉘며 테이블의 각 부분은 위젯을 포함 할 수 있습니다. 그것은 column
, columnspan
, ipadx
, ipady
, padx
, pady
, row
, rowspan
및 sticky
합니다.
통사론
widget.grid(options)
기둥
위젯을 넣을 열입니다. 기본 열은 0이며 가장 왼쪽 열입니다.
칼럼 스팬
얼마나 많은 열 위젯이 사용됩니다. 기본값은 1입니다.
Ipadx
위젯 테두리 내에서 가로로 위젯을 몇 픽셀을 채 웁니다.
아이디
위젯 테두리 내에서 위젯을 수직으로 몇 픽셀까지 채 웁니다.
Padx
위젯 경계 밖으로 가로로 위젯을 몇 픽셀까지 채 웁니다.
Pady
위젯 경계 외부에서 위젯을 수직으로 몇 픽셀까지 채 웁니다.
열
위젯을 넣을 행입니다. 기본 행은 0이며 맨 위 열입니다.
행렬
위젯이 차지하는 행 수. 기본값은 1입니다.
어려운
위젯이 셀보다 작 으면 sticky
것이 위젯이 붙인 셀의 측면과 모서리를 나타내는 데 사용됩니다. 방향은 N, E, S, W, NE, NW, SE 및 SW와 0으로 나침반 방향으로 정의됩니다. 이들은 문자열 연결 일 수 있습니다. 예를 들어, NESW는 위젯이 셀의 전체 영역을 차지하도록 만듭니다.
예
from tkinter import *
root = Tk()
btn_column = Button(root, text="I'm in column 3")
btn_column.grid(column=3)
btn_columnspan = Button(root, text="I have a columnspan of 3")
btn_columnspan.grid(columnspan=3)
btn_ipadx = Button(root, text="ipadx of 4")
btn_ipadx.grid(ipadx=4)
btn_ipady = Button(root, text="ipady of 4")
btn_ipady.grid(ipady=4)
btn_padx = Button(root, text="padx of 4")
btn_padx.grid(padx=4)
btn_pady = Button(root, text="pady of 4")
btn_pady.grid(pady=4)
btn_row = Button(root, text="I'm in row 2")
btn_row.grid(row=2)
btn_rowspan = Button(root, text="Rowspan of 2")
btn_rowspan.grid(rowspan=2)
btn_sticky = Button(root, text="I'm stuck to north-east")
btn_sticky.grid(sticky=NE)
root.mainloop()
결과
장소()
place()
관리자는 위젯을 부모 위젯의 특정 위치에 배치하여 위젯을 구성합니다. 이 Geometry 관리자는 anchor
, bordermode
, height
, width
, relheight
, relwidth
, relx
, rely
, x
및 y
합니다.
닻
위젯이 고정 된 위치를 나타냅니다. N, E, S, W, NE, NW, SE 또는 SW (부모 위젯의 측면과 모서리와 관련 있음) 옵션이 나침반 방향입니다. 기본값은 NW (위젯의 왼쪽 위 모서리)입니다.
테두리 모드
Bordermode에는 두 가지 옵션이 있습니다. INSIDE
는 부모의 내부를 참조하는 다른 옵션 (부모의 경계선 무시)과 그 반대 인 OUTSIDE
를 나타냅니다.
신장
위젯의 높이를 픽셀 단위로 지정하십시오.
폭
위젯의 너비를 픽셀 단위로 지정하십시오.
레오 헤이트
높이를 부모 위젯의 높이의 분수로 0.0에서 1.0 사이의 부동 소수점으로 사용합니다.
너비
width - 부모 위젯의 폭의 일부분 인 0.0에서 1.0 사이의 부동 소수점으로 나타냅니다.
Relx
부모 위젯의 너비의 일부분으로 0.0과 1.0 사이의 부동 소수점으로 수평 오프셋.
의지
부모 위젯의 높이의 분율로 0.0에서 1.0 사이의 부동 소수점으로 세로 오프셋입니다.
엑스
수평 오프셋 (픽셀 단위).
와이
픽셀 단위의 수직 옵셋입니다.
예
from tkinter import *
root = Tk()
root.geometry("500x500")
btn_height = Button(root, text="50px high")
btn_height.place(height=50, x=200, y=200)
btn_width = Button(root, text="60px wide")
btn_width.place(width=60, x=300, y=300)
btn_relheight = Button(root, text="Relheight of 0.6")
btn_relheight.place(relheight=0.6)
btn_relwidth= Button(root, text="Relwidth of 0.2")
btn_relwidth.place(relwidth=0.2)
btn_relx=Button(root, text="Relx of 0.3")
btn_relx.place(relx=0.3)
btn_rely=Button(root, text="Rely of 0.7")
btn_rely.place(rely=0.7)
btn_x=Button(root, text="X = 400px")
btn_x.place(x=400)
btn_y=Button(root, text="Y = 321")
btn_y.place(y=321)
root.mainloop()
결과