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

Geometry Manager อันไหนดีกว่า .grid() ใน Tkinter

ไม่มี "อันไหนดีกว่า" อย่างสมบูรณ์ ขึ้นอยู่กับ use case:

Pack Geometry Manager

  • ง่ายที่สุด ใช้สำหรับ stack widgets แนวตั้ง/แนวนอน
  • เหมาะ: toolbar, status bar, simple forms

Grid Geometry Manager

  • จัดวาง 2 มิติ (row/column) เหมาะ form ซับซ้อน
  • ควบคุม alignment, spanning ได้ละเอียด

Place Geometry Manager

  • จัดตำแหน่งแบบ absolute (x,y) หรือ relative (relx, rely)
  • เหมาะ overlay, floating widgets, custom positioning

ตัวอย่าง Pack

ttk.Button(win, text="Button").pack(padx=20, pady=20, expand=1)

ตัวอย่าง Grid


ttk.Button(win, text="Button1").grid(row=0, column=0)
ttk.Button(win, text="Button2").grid(row=0, column=1)

เลือกตามความต้องการ: Pack เรียบง่าย, Grid โครงสร้าง, Place ปรับแต่งตำแหน่ง