Tkinter 레이블(Label) 위젯과 justify 속성
Tkinter의 Label(레이블) 위젯은 애플리케이션에 이미지를 추가하거나 텍스트를 표시할 때 사용되는 기본적인 GUI 요소입니다. Tkinter 라이브러리에는 위젯의 스타일과 속성을 자유롭게 꾸밀 수 있는 다양한 함수와 메서드가 제공됩니다.
특히 레이블 안에 들어가는 텍스트의 정렬을 조절하고 싶다면 justify 속성을 활용하면 됩니다. 이 속성은 텍스트의 위치나 줄맞춤을 지정하며, 다음 세 가지 값을 사용할 수 있습니다.
- LEFT — 텍스트를 왼쪽으로 정렬
- CENTER — 텍스트를 중앙으로 정렬 (기본값)
- RIGHT — 텍스트를 오른쪽으로 정렬
예제 코드
다음 예제에서는 justify 속성을 사용하여 두 개의 레이블에 서로 다른 정렬 방식을 적용해 보겠습니다.
# tkinter 라이브러리 임포트
from tkinter import *
# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("750x350")
# Label 위젯 생성
label1 = Label(win, text="Box1")
label1.pack()
# 오른쪽(RIGHT) 정렬이 적용된 레이블
label2 = Label(win, text="\nKeep\nLearning", bd=1, relief="solid",
font=("Helvetica 20"), justify=RIGHT)
label2.pack()
Label(win, text="Box2").pack()
# 왼쪽(LEFT) 정렬이 적용된 레이블
label3 = Label(win, text="\nLearning\nMakes\nPerfect", bd=1, relief="solid",
font=('Helvetica 20'), justify=LEFT)
label3.pack()
win.mainloop()실행 결과
위 코드를 실행하면 텍스트가 포함된 레이블 위젯이 있는 윈도우가 나타납니다. justify 속성에 따라 첫 번째 레이블의 텍스트는 오른쪽으로, 두 번째 레이블의 텍스트는 왼쪽으로 정렬되어 시각적으로 차이를 확인할 수 있습니다.

참고: justify와 anchor의 차이점
justify는 여러 줄로 구성된 텍스트의 줄 간 정렬(좌·중·우)을 결정하는 반면, anchor는 위젯 영역 안에서 텍스트 전체 덩어리의 위치(북서, 남동 등)를 지정한다는 점이 다릅니다. 두 속성을 함께 사용하면 더욱 세밀한 레이아웃 구성이 가능합니다.