Qt控制元件大小跟隨視窗調整
開啟連結加入QQ群:https://jq.qq.com/?_wv=1027&k=5Gr3bAx
UI介面 控制元件隨視窗自適應變化大小
通過Qt Creator的設計模式實現,無需增加程式碼。
如下圖,實現對最下層tableview大小跟隨視窗調整:
1、介面空白處右擊,選擇佈局-->柵格佈局,這會使centralWidget佈局設定為GridLayout。
然後介面中的部件會自動新增到柵格佈局中,此時的部件會根據視窗大小自動調整大小。
2、但是部件的大小卻不是我們希望的,極不協調,接下來就需要調整每個控制元件的設定。
調整控制元件Size的專案包括:sizePolicy、minimumSize、maxmumSize
比如將上面的第三行的lineEdit限制高度:
這樣,在調整視窗大小的時候,lineEdit控制元件只能任意改變寬度,而高度則被限制在30個畫素內。
(調整之後效果)
注意:
有些情況下設定了上面的操作步驟之後,但似乎沒有起作用。
比如上面例子中第一行的幾個空間,雖然設定了sizePolicy以及寬度、高度限制,但是還是隨著介面改變。
這個時候,就需要新增 Spacer(看起來像彈簧的控制元件),之後就能解決問題了。
這是因為GridLayout佈局的影響,他必須讓佈局之內的區域佈滿控制元件,而不能有空白,所以即使設定了大小限制,仍然會被拉伸。
新增Spacer就是為了填充多餘的區域。