파이썬/파이썬(python) 중급

[31-2 파이썬] tkinter 위치, 정렬 anchor, justify

Olivia-BlackCherry 2022. 9. 24. 08:10
anchor 

배에서  anchor 이라하면,

망망대해에서 내가 원하는 위치에 닻을 내린다는 뜻이다. 

 

tkinter에서도 비슷한 의미로 쓰이는데,

내가 원하는 위치에 

레이블의 문자열 또는 이미지의 위치를 고정한다는 뜻을 가진다.

 

아래의 값을 갖는다.

center 중앙(기본값)
n
e
s
w
ne 북동
se 남동
sw 남서
nw 북서

 

1) 레이블 문자열이 한 줄일 때

Nation> 서쪽 위치

Word> 가운데 위치(기본값)

nation_label = Label(text = "Nation", font = ("Arial", 40, "italic"))
nation_label.pack(anchor="w")
word_label = Label(text = "Word", font = ("Arial", 60, "bold"))
word_label.pack()​

 

Nation> 동쪽 위치

Word> 서쪽 위치

nation_label = Label(text = "Nation", font = ("Arial", 40, "italic"))
nation_label.pack(anchor="e")
word_label = Label(text = "Word", font = ("Arial", 60, "bold"))
word_label.pack(anchor="w")

 

 

2) 레이블 문자열이 여러 줄 일 때

여러 줄의 문자열은 기본적으로 가운데 정렬이다.

nation_label = Label(text = "Nation\n Korea\n Country \n Busan", font = ("Arial", 40, "italic"))
nation_label.pack(anchor="e")
word_label = Label(text = "Word", font = ("Arial", 60, "bold"))
word_label.pack(anchor="w")

 

 

그런데, 만약 여러 줄의 문자열의 정렬을 다르게 바꾸고 싶다면 

justify 파라미터를 사용한다.

 

justify

레이블 문자열이 여러 줄일 때 정렬하는 방법

 

아래의 값을 갖는다.

center 가운데(기본값)
left 왼쪽
right 오른쪽

 

예시를 보자

Nation
Korea
Country
Busan

>> anchor 오른쪽 위치,  justify왼쪽 정렬

 

Word
This
is
Korean

>> anchor 왼쪽 위치,  justify오른쪽 정렬

nation_label = Label(text = "Nation\nKorea\nCountry\nBusan", justify= "left", font = ("Arial", 30, "italic"))
nation_label.pack(anchor="e")

word_label = Label(text = "Word\nThis\nis\nKorean", justify="right", font = ("Arial", 20, "bold"))
word_label.pack(anchor="w")