2009-10-25 41 views
9

Làm cách nào để ẩn các tiện ích con trong Qt?Qt Widget Overlays

Tôi muốn tạo một số tiện ích và đặt chúng ngoài bố cục, nhưng thay đổi kích thước và vị trí của chúng khi thay đổi hình dạng của một tiện ích con khác.

Something như các nút trên màn hình:

alt text

Trả lời

9

Bạn chỉ cần tạo QPushButton của bạn (hoặc bất kỳ QWidget), chỉ ra QWidget cha mẹ của nó và sau đó hiển thị nó.

Không thêm nó vào bố cục mẹ khác, bạn sẽ không thể di chuyển nó theo ý muốn.

Đừng quên chỉ định cha mẹ của người khác, nó sẽ được hiển thị là QWidget độc lập.

Trong những điều kiện này QPushButton của bạn sẽ được coi là con của QWidget nhưng không được coi là thành viên của bố cục của cha mẹ. Vì vậy, nó sẽ là một "nổi" con và bạn phải quản lý hành vi của nó khi thay đổi kích thước của QWidget của cha mẹ.

Nếu bạn muốn có hành vi thống nhất cho tất cả các nút lớp phủ, bạn nên phân loại QLayout và xác định lại thành viên bahaviour.

+0

Đối với quyền-alignment nhìn thấy trong ảnh chụp màn hình, ai có thể reimplement resizeEvent() cho tiện ích con và di chuyển tiện ích con theo cách thủ công trong đó. –

3

Nếu họ con của một phụ tùng mà không có một bố trí, bạn sẽ có thể di chuyển chúng xung quanh như bạn vui lòng, tôi nghĩ.

2

tôi cần một phụ tùng như thế này cho một dự án tôi đang làm việc trên, vì vậy tôi đã tư vấn Patrice và viết mã này (Python) PyQt4 Widget Overlay

Các vấn đề liên quan