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