Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การจัดตำแหน่งข้อความใน Label (Justify) ใน Tkinter Python

คุณสมบัติ 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