我現在已經用Qt佈局系統深入工作了兩年。在此之後,我遇到了SizePolicies和Layouts問題。我通常找到解決方案,但從來沒有真正明白我在做什麼。QSizePolicy真正的含義,文檔和想法
現在我花了一些時間來嘗試正確理解併爲他們構建101 GUIDE並從未失敗。我發現這條信息的文檔中大約一個QWidget的QSizePolicy:
這個屬性保存控件的默認佈局行爲
如果有QLayout管理此控件的孩子,大小 使用由該佈局指定的策略。如果沒有這樣的QLayout,則使用該函數的結果,即 。
例如,我認爲如果您有QLabel,並且您將策略設置爲水平擴展,垂直固定,那麼標籤本身就會改變這種方式。 但它根本沒有。
在閱讀時,我發現它在佈局中討論了ITS CHILDREN。那麼它是什麼意思呢?標籤內沒有任何東西,這是爲什麼它不起作用?
關於在QFrame中插入標籤並告訴框架展開... QFrame將展開還是拉伸(取決於同一佈局中的其他兄弟窗口小部件)還是將標籤展開或拉伸,不是QFrame?
太亂了......
拉伸?如果在添加小部件時設置拉伸10:
layout->addwidget(label, 10, Qt::AlignHCenter);
它也不起作用。
當您添加小部件時拉伸0:採取我告訴您的策略。默認值取決於小部件的類型。類似按鈕的小部件已擴展固定。箱狀展開式展開...
展寬10意味着:最大增長。
我是對的嗎?好。當內部有一個QFrame和一個QLabel時,將展開設置爲10,並將其拖到標籤上不起作用。
您是否寫過該指南? –
不是。仍然沒有......但是當我與Qt密切合作時,我收到了所有這些筆記。我應該這樣做:( – darkgaze
其實我只是對這個問題做了一些研究,發現QSizePolicy只與sizeHint有關,沒有其他的東西!在QT文檔中有很多誤導......這裏是我的筆記:http://www.cofoh .com/layouts-and-sizepolicy-qt –