[英]Can someone explain size hint, size policy, size constraint in QT?
任何人都可以清楚地解釋這三個概念嗎? 有什么區別以及如何使用它們?
大小提示是小部件的首選大小,布局將嘗試使其盡可能接近此大小。
大小策略描述了當首選大小無法使用時大小如何改變(可以拉伸或收縮),請參閱QSizePolicy::Policy枚舉以獲取每個的描述。
尺寸約束是小部件可以是的最大尺寸和最小尺寸。
在我了解 Qt 的布局管理之前,它也讓我很困惑。 根據其 文檔:
向布局添加小部件時,布局過程如下:
所有小部件最初將根據它們的 QWidget::sizePolicy() 和 QWidget::sizeHint() 分配一定數量的空間。
如果任何小部件設置了拉伸因子,並且其值大於零,那么它們將按其拉伸因子的比例分配空間(如下所述)。
如果任何小部件的拉伸系數設置為零,它們只會在沒有其他小部件需要空間的情況下獲得更多空間。 其中,空間首先分配給具有擴展大小策略的小部件。
任何分配的空間小於其最小尺寸(如果未指定最小尺寸,則為最小尺寸提示)的任何小部件都被分配到它們所需的最小尺寸。 (小部件不必具有最小尺寸或最小尺寸提示,在這種情況下,拉伸因子是它們的決定因素。)
任何分配的空間大於其最大尺寸的小部件都將分配到它們所需的最大尺寸空間。 (小部件不必具有最大尺寸,在這種情況下,拉伸因子是它們的決定因素。)
而sizeHint()
是QWidget的推薦大小,widget parent的Layout
會考慮sizeHint()
和sizePolicy()
來決定子widget可以容納的空間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.