Tkinter Place

2024. 2. 23. 18:39GUI/tkinter

요약 : 이 튜토리얼에서는 (x, y) 좌표계를 사용하여 컨테이너 내에서 위젯을 정확하게 배치하는 Tkinter place 기하학 관리자에 대해 배웁니다.

Tkinter Place 기하학 관리자 소개

Tkinter place기하학 관리자를 사용하면 절대 위치 또는 상대 위치 지정을 사용하여 위젯의 정확한 위치를 지정할 수 있습니다.

placer 지오메트리 관리를 사용하면 다음을 통해 위젯 위치를 세밀하게 제어할 수 있습니다.

  • 좌표(x, y)를 지정합니다.
  • 앵커 포인트를 기준으로 상대적 위치 지정을 사용합니다.

place 지오메트리 관리자를 사용하려면, 다음과 같이 위젯에서 place() 메서드를 호출합니다.

widget.place(**options)

1) 절대 위치 결정

절대 위치 지정에서는 x 및 y 매개변수를 사용하여 위젯의 정확한 x 및 y 좌표를 지정합니다.

widget.place(x=50, y=50)

 

2) 상대 위치 지정

상대 위치 지정에서는 다음과 같은 매개변수 relx와 rely를 사용하여 상대 좌표를 사용하는 위젯을 배치합니다.

 

예를 들어, 다음은 위젯을 상위 위젯의 중앙에 배치합니다.

widget.place(relx=0.5, rely=0.5, anchor=CENTER)

3) 너비와 높이

장소 지오메트리 관리자를 사용하면 width및 height매개변수를 통해 위젯의 너비와 높이를 설정할 수 있습니다.

widget.place(width=120, height=60)

또는 상위 컨테이너와 관련된 상대적 크기 조정을 사용할 수 있습니다. 예를 들어 다음 코드는 위젯의 너비와 높이를 상위 크기의 50%로 설정합니다.

widget.place(relwidth=0.5, relheight=0.5)

relwidth 와 relheight는 0.0에서 1.0 사이의 부동 소수점 숫자 값을 갖습니다. 이 값은 상위 컨테이너의 너비와 높이의 일부를 나타냅니다.

4) anchor

anchor 매개변수는 위젯의 어느 부분이 주어진 좌표에 위치하는지 결정합니다.

anchor 매개변수는 다음과 같은 값을 허용합니다.

  • 'n', 'ne', 'e', 'se', 'sw', 'w', 'nw': 이 상수는 기본 및 기본 방향(북쪽, 북동쪽, 동쪽, 남동쪽, 남쪽, 남서쪽, 서쪽, 북서쪽)을 나타냅니다.
  • 'center': 이 값은 지정된 좌표에 위젯 중심을 배치하도록 place() 메서드에 지시합니다.

앵커의 기본값은 위젯의 왼쪽 상단을 지정된 좌표에 배치하도록 place()메소드에 'nw'지시하는 것 입니다.

예를 들어 다음 코드는 위젯을 컨테이너 위젯 중앙에 배치합니다.

widget.place(relx=0.5, rely=0.5, anchor='center')

Tkinter 장소 기하학 관리자 예

Tkinter 장소 기하학 관리자를 사용하는 몇 가지 예를 살펴보겠습니다.

1) 절대 위치 결정 예

다음 예에서는 장소 기하학 관리자를 사용하여 너비가 60이고 높이가 120인 레이블을 (0,0)에 배치합니다.

In [ ]:
import tkinter as tk

root = tk.Tk()
root.title('Tkinter Place Geometry Manager')
root.geometry("600x400")

label1 = tk.Label(master=root, text="Place",bg='red',fg='white')
label1.place(x=0,y=0,width=120, height=60)

root.mainloop()

 

2) 상대 위치 지정 예

다음 프로그램은 창 중앙에 왼쪽 상단 모서리가 있는 Label 위젯을 배치합니다.

In [ ]:
import tkinter as tk

root = tk.Tk()
root.title('Tkinter Place Geometry Manager')
root.geometry("600x400")

label1 = tk.Label(master=root, text="Place",bg='red',fg='white')
label1.place(relx=0.5, rely=0.5, width=100, height=50)

root.mainloop()

 

 

3) 앵커포인트 활용

다음 예에서는 창 중앙에 Label 위젯의 중심점을 배치합니다.

In [ ]:
import tkinter as tk

root = tk.Tk()
root.title('Tkinter Place Geometry Manager')
root.geometry("600x400")

label1 = tk.Label(master=root, text="Place",bg='red',fg='white')
label1.place(relx=0.5, rely=0.5, width=100, height=50, anchor=tk.CENTER)

root.mainloop()

 

요약

(x, y) 좌표계를 사용하여 컨테이너 내에서 위젯의 위치를 정확하게 지정하려면 Tkinter place 지오메트리 관리자를 사용하세요.

'GUI > tkinter' 카테고리의 다른 글

Tkinter Text  (0) 2024.02.25
Tkinter Frame  (1) 2024.02.24
Tkinter Grid  (0) 2024.02.23
Tkinter Pack  (0) 2024.02.21
Tkinter Entry  (1) 2024.02.20