PyGTK - คอนเทนเนอร์

ไลบรารี PyGTK มีคลาสคอนเทนเนอร์ที่แตกต่างกันเพื่อควบคุมการจัดวางวิดเจ็ตภายในหน้าต่าง วิธีที่ง่ายที่สุดคือใช้ไฟล์fixed container class และวางวิดเจ็ตไว้ข้างในโดยระบุพิกัดสัมบูรณ์ที่วัดเป็นพิกเซล

ให้เราทำตามขั้นตอนเหล่านี้ -

Step 1 - ประกาศวัตถุของไฟล์ fixed class

fixed = gtk.Fixed()

Step 2 - สร้างวิดเจ็ตปุ่มและเพิ่มลงในคอนเทนเนอร์คงที่โดยใช้ put()วิธีที่ต้องการพิกัด x และ y ที่นี่ปุ่มจะถูกวางไว้ที่ตำแหน่ง (100,100)

btn = gtk.Button("Hello")
fixed.put(btn, 100,100)

Step 3- คุณสามารถวางการควบคุมหลายตัวในคอนเทนเนอร์คงที่ และเพิ่มลงในหน้าต่างระดับบนสุดและเรียกใช้ไฟล์show_all() วิธี

self.add(fixed)
self.show_all()

อย่างไรก็ตามเค้าโครงสัมบูรณ์นี้ไม่เหมาะสมเนื่องจากสาเหตุต่อไปนี้ -

  • ตำแหน่งของวิดเจ็ตไม่เปลี่ยนแปลงแม้ว่าจะปรับขนาดหน้าต่างแล้วก็ตาม
  • ลักษณะที่ปรากฏอาจไม่เหมือนกันในอุปกรณ์แสดงผลต่างๆที่มีความละเอียดต่างกัน
  • การปรับเปลี่ยนเค้าโครงเป็นเรื่องยากเนื่องจากอาจต้องออกแบบแบบฟอร์มใหม่ทั้งหมด

ต่อไปนี้คือไฟล์ original window -

ต่อไปนี้คือไฟล์ resized window -

ตำแหน่งของปุ่มไม่เปลี่ยนแปลงที่นี่

PyGTK API จัดเตรียมคลาสคอนเทนเนอร์สำหรับการจัดการตำแหน่งวิดเจ็ตภายในคอนเทนเนอร์ที่ดีขึ้น ข้อดีของผู้จัดการเค้าโครงเหนือตำแหน่งที่แน่นอนคือ -

  • วิดเจ็ตภายในหน้าต่างจะถูกปรับขนาดโดยอัตโนมัติ
  • ตรวจสอบให้แน่ใจว่ามีลักษณะสม่ำเสมอบนอุปกรณ์แสดงผลที่มีความละเอียดต่างกัน
  • การเพิ่มหรือลบวิดเจ็ตแบบไดนามิกสามารถทำได้โดยไม่ต้องออกแบบใหม่

gtk.Container ทำหน้าที่เป็นคลาสพื้นฐานสำหรับคลาสต่อไปนี้ -

  • gtk.ButtonBox
  • gtk.Box
  • gtk.Alignment
  • gtk.EventBox
  • gtk.Table