PyGTK - Hộp chứa
Thư viện PyGTK cung cấp các lớp vùng chứa khác nhau để kiểm soát vị trí của các widget bên trong cửa sổ. Cách dễ nhất là sử dụngfixed container class và đặt một widget bên trong nó bằng cách chỉ định tọa độ tuyệt đối của nó được đo bằng pixel.
Bây giờ chúng ta hãy làm theo các bước sau -
Step 1 - Khai báo một đối tượng của fixed class
fixed = gtk.Fixed()
Step 2 - Tạo tiện ích nút và thêm nó vào vùng chứa cố định bằng cách sử dụng put()phương thức cần tọa độ x và y. Tại đây, nút sẽ được đặt ở vị trí (100,100).
btn = gtk.Button("Hello")
fixed.put(btn, 100,100)
Step 3- Bạn có thể đặt nhiều điều khiển trong vùng chứa cố định. Và, thêm nó vào cửa sổ cấp cao nhất và gọishow_all() phương pháp
self.add(fixed)
self.show_all()
Tuy nhiên, Bố cục Tuyệt đối này không phù hợp vì những lý do sau:
- Vị trí của tiện ích không thay đổi ngay cả khi cửa sổ được thay đổi kích thước.
- Sự xuất hiện có thể không đồng nhất trên các thiết bị hiển thị khác nhau với độ phân giải khác nhau.
- Việc sửa đổi bố cục rất khó vì có thể cần thiết kế lại toàn bộ biểu mẫu.
Sau đây là original window -
Sau đây là resized window -
Vị trí của nút ở đây không thay đổi.
API PyGTK cung cấp các lớp vùng chứa để quản lý nâng cao vị trí của các vật dụng bên trong vùng chứa. Ưu điểm của trình quản lý Bố cục so với định vị tuyệt đối là -
- Các widget bên trong cửa sổ được tự động thay đổi kích thước.
- Đảm bảo sự xuất hiện đồng nhất trên các thiết bị hiển thị có độ phân giải khác nhau.
- Có thể thêm hoặc xóa động tiện ích con mà không cần phải thiết kế lại.
gtk.Container hoạt động như lớp cơ sở cho các lớp sau:
- gtk.ButtonBox
- gtk.Box
- gtk.Alignment
- gtk.EventBox
- gtk.Table