Tôi có một widget để chèn trông giống nhưTìm chiều cao của một QWidget trước khi chèn
+--------------------+
| +-------++-------+ |
| | || | |
| | || | |
| | || Label | |
| | Label || Label | |
| | || | |
| | || | |
| +-------++-------+ |
+--------------------+
yếu tố Một QWidget này chứa hai QVBoxLayouts, mỗi có chứa một hoặc nhiều QLabels.
Widget này sẽ được chèn vào trong Bố cục dọc có ô giãn, vì vậy tất cả các tiện ích con của loại này sẽ chuyển lên trên cùng và thu nhỏ xuống chiều cao nhỏ hơn có thể.
Kết quả như thế này.
______________________ ← Layout boundary
+--------------------+
| +-------++-------+ |
| | || Label | |
| | Label || Label | | ← Widget shrunk to the smallest
| +-------++-------+ |
+--------------------+
______________________ ← Layout boundary
↑
|
| ← Spacer
|
↓
______________________ ← Layout boundary
Nhưng trước khi thực hiện việc chèn này, tôi muốn biết kích thước mà tiện ích sẽ có trong bố cục được chèn. Có thể kích thước tối thiểu cho phép bởi bố cục bên trong của nó. Không chắc chắn làm thế nào để gọi nó.
Tôi đã thử nhiều cách tiếp cận như chèn tiện ích vào bố cục vô hình thay thế để tôi có thể truy xuất chiều cao của nó khi được chèn, sẽ giống như khi tiện ích được chèn vào bố cục dứt khoát của tôi.
Nhưng vì một lý do nào đó tôi luôn nhận được 480 hoặc 478 khi tiện ích ở độ cao tối đa 50px khi được nhấn theo chiều dọc. Vì vậy, tôi hoàn toàn bị mất.
Tôi phải làm điều này vì tôi cần tiện ích để tạo hiệu ứng khi chèn và tôi cần biết chiều cao cần thiết để tôi tạo hiệu ứng động từ độ cao 1 lên đó.
Tôi làm cách nào để thực hiện việc này?
Không có biểu đồ cực kỳ có liên quan, nhưng tuyệt vời;) – Blender
Bạn đã thử QLayout :: minimumSize() cho bố cục nội thất widget? – Robin