คุณสมบัติ justify ใน Tkinter Label ควบคุมการจัดแนวข้อความหลายบรรทัด (Multi-line) ค่า: LEFT, RIGHT, CENTER (ค่าเริ่มต้น)
ตัวอย่างโค้ด
from tkinter import *
win = Tk()
win.geometry("750x350")
Label(win, text="Box1").pack()
# Justify RIGHT
label2 = Label(win, text="\nKeep\nLearning", bd=1, relief="solid",
font=("Helvetica 20"), justify=RIGHT)
label2.pack()
Label(win, text="Box2").pack()
# Justify LEFT
label3 = Label(win, text="\nLearning\nMakes\nPerfect", bd=1, relief="solid",
font=('Helvetica 20'), justify=LEFT)
label3.pack()
win.mainloop()
Justify vs Anchor
| Property | ควบคุม | ค่า |
|---|---|---|
justify | การจัดแนวข้อความหลายบรรทัด | LEFT, RIGHT, CENTER |
anchor | ตำแหน่ง Widget ในพื้นที่ที่จัดสรร | N, NE, E, SE, S, SW, W, NW, CENTER |
ตัวอย่างรวม Justify + Anchor
# Label กว้าง 300px, ข้อความ 3 บรรทัด
Label(win, text="Line 1\nLine 2\nLine 3",
width=40, height=5, bg="lightgray",
justify=LEFT, anchor=NW).pack()
Label(win, text="Line 1\nLine 2\nLine 3",
width=40, height=5, bg="lightgray",
justify=CENTER, anchor=CENTER).pack()
Label(win, text="Line 1\nLine 2\nLine 3",
width=40, height=5, bg="lightgray",
justify=RIGHT, anchor=NE).pack()
สำหรับ Text Widget (ไม่ใช่ Label)
Text Widget ไม่มี justify ใช้ Tag แทน:
text = Text(win)
text.insert(END, "Left\nCenter\nRight")
text.tag_configure("left", justify=LEFT)
text.tag_configure("center", justify=CENTER)
text.tag_configure("right", justify=RIGHT)
text.tag_add("left", "1.0", "1.end")
text.tag_add("center", "2.0", "2.end")
text.tag_add("right", "3.0", "3.end")
การประยุกต์ใช้
Multi-line Labels, Status Messages, Form Field Labels, Dialog Messages, Toast Notifications, Caption Under Images