Có cách nào để làm cho thuộc tính layoutStretch luôn được tuân theo không? Ví dụ. Tôi có nó đặt là "1,3,2", nhưng sau đó một widget (một nhãn) trong phần đầu tiên ("1" trong "1,3,2") mở rộng (khi thêm văn bản được thêm vào), và sau đó tỷ lệ 1: 3: 2 không còn được tôn trọng nữa. Đó là, tỷ lệ "1: 3: 2" biến thành một cái gì đó giống như "3: 1: 3".Sửa kích thước bố cục
Trả lời
Bạn nên xem tài sản QWidget::sizePolicy
. Nó kiểm soát cách bố trí tôn trọng các sizeHint()
của trẻ em của nó khi nó cập nhật các hình học.
Vì vậy, những gì bạn cần làm là: Hãy bố trí bỏ qua sizeHints ngang của widget con bằng cách thiết lập sizePolicy ngang của ba widget trẻ QSizePolicy::Ignored
:
QLabel *label = ...;
...
label->setSizePolicy(QSizePolicy::Ignored, label->sizePolicy().verticalPolicy());
(Đối số thứ hai sẽ đảm bảo rằng Tất nhiên, bạn nên đặt chính sách kích thước của mọi tiện ích con, mã mẫu này chỉ dành cho nhãn.)
Lưu ý rằng nội dung bố cục của bạn phải là vật dụng; Tôi nghĩ rằng bố trí lồng nhau không thể được chỉ định một chính sách kích thước (nhưng tôi có thể sai). Ít nhất bằng cách sử dụng QtDesigner, không có cách nào để áp dụng chính sách kích thước cho chính bố cục (nếu nó không phải là bố trí của một widget). Xem nhận xét để biết chi tiết.
Trong QtDesigner, bạn có thể thiết lập các sizePolicy của widget con như thế này:
Trước:
co:
Chọn các mục trong bố cục:
Đặt chính sách kích thước ngang để "Bỏ qua":
Kết quả:
- 1. Chỉnh sửa kích thước hình ảnh tự động trong bố cục dòng CSS để mô phỏng bố cục bảng html
- 2. Cách đặt kích thước và bố cục trong onSizeChanged?
- 3. Điều chỉnh kích thước bố cục động trong Android
- 4. Bố cục chế độ xem sau khi đổi kích thước
- 5. Kích thước bố cục đọc khi khởi động ứng dụng
- 6. Vấn đề bố cục kích thước nội dung trong WPF
- 7. Bố cục Qt, đổi kích thước thành tối thiểu sau khi thay đổi kích thước tiện ích
- 8. Chỉnh sửa kích thước hình ảnh tự động dựa trên kích thước cửa sổ trình duyệt
- 9. Bố cục Android S3 và bố cục Galaxy Nexus
- 10. Bố cục Android và thay đổi kích thước hình ảnh tự động
- 11. eclipse android sử dụng tài nguyên chuỗi cho kích thước văn bản trong bố cục
- 12. Sửa các kích thước widget trong thiết kế QT
- 13. cách mở tệp xml bố cục trong Trình chỉnh sửa bố cục Android?
- 14. Bố cục được bố trí khi nào?
- 15. Cách nhận kích thước của tiện ích con Android sau khi bố cục được tính toán?
- 16. Android: Cách đặt theo Lập trình kích thước của Bố cục
- 17. Bảng điều khiển bố cục bảng có thể thay đổi kích thước trong C#
- 18. Cách thay đổi kích thước chế độ xem bằng bố cục tự động của Xcode
- 19. Sử dụng Bố cục Tự động để thay đổi không gian bằng cách đổi kích thước
- 20. Bố cục thay đổi kích thước bàn phím ảo của Android
- 21. Bố cục tự động: không thể lấy kích thước khung của UICollectionViewCell subViews
- 22. Thay đổi kích thước bố cục theo chương trình (dưới dạng hoạt ảnh)
- 23. sửa kích thước cửa sổ trong vim
- 24. thêm bố cục trong bố cục khác
- 25. Bố cục lưới Vs. Bố cục bảng
- 26. Sửa bố cục của Gmail bằng kiểu tùy chỉnh
- 27. Sửa vị trí nút trong Bố cục có hướng D3
- 28. Thêm bố cục vào bố cục khác trong Qt [C++]
- 29. Bố cục không thể?
- 30. Bố cục bố cục sai trong cửa sổ bật lên
trong QtDesigner tôi nhấp vào một trong 3 widget verticalLayout đó là ba đối tượng trong widget horizontalLayout (một trong đó có bố cục 1: 3: 2). Tuy nhiên, không có sizePolicy, chỉ có layoutLeftMargin, layoutTopMargin, layoutRightMargin, layoutBottomMargin, layoutSpacing, layoutStretch và layoutSizeConstraint. –
@DavidDoria Tôi đã thêm ảnh chụp màn hình cho QtDesigner. – leemes
Xin lỗi, tôi đoán tôi vẫn chưa rõ. Tôi có các widget dọcLayout là con của một widget horizontalLayout. Các tiện ích verticalLayout này là các tiện ích con mà tôi muốn sửa tỷ lệ, nhưng chúng không có thuộc tính "sizePolicy". –