Qt控制項大小跟隨視窗調整

2021-08-14 13:30:47 字數 953 閱讀 2251

來自qq群 linux && 技術分享 311078264

通過qt creator的設計模式實現,無需增加**。

如下圖,實現對最下層tableview大小跟隨視窗調整:

1、介面空白處右擊,選擇布局-->柵格布局,這會使centralwidget布局設定為gridlayout。

然後介面中的部件會自動新增到柵格布局中,此時的部件會根據視窗大小自動調整大小。

2、但是部件的大小卻不是我們希望的,極不協調,接下來就需要調整每個控制項的設定。

調整控制項size的專案包括:sizepolicy、minimumsize、maxmumsize

比如將上面的第三行的lineedit限制高度:

這樣,在調整視窗大小的時候,lineedit控制項只能任意改變寬度,而高度則被限制在30個畫素內。

(調整之後效果)

注意:有些情況下設定了上面的操作步驟之後,但似乎沒有起作用。

比如上面例子中第一行的幾個空間,雖然設定了sizepolicy以及寬度、高度限制,但是還是隨著介面改變。

這個時候,就需要新增 spacer(看起來像彈簧的控制項),之後就能解決問題了。

這是因為gridlayout布局的影響,他必須讓布局之內的區域布滿控制項,而不能有空白,所以即使設定了大小限制,仍然會被拉伸。

新增spacer就是為了填充多餘的區域。

QT 筆記 禁止調整視窗大小

qt 是乙個跨平台的 基於 lgpl 協議的介面類庫,可以方便地實現 c 的視覺化視窗程式設計,在很大程度上彌補了 c 語言介面程式設計的弱點。由於要支援跨平台,一些基於平台的功能就不能直接寫入類庫,導致了使用 qt 時一些功能需要變通的方法來實現。比如 qt 並不支援直接禁止使用者調整視窗大小。變...

Qt禁止調整視窗的大小

專案中使用的是基於對話方塊的程式,所以限制調整視窗大小會比較合適,下面是兩種方法。1 使用 修改 1 include dialog.h 2 include ui dialog.h 3 4 dialog dialog qwidget parent 5qdialog parent 6 ui new ui...

QT 主視窗大小改變,子視窗大小不能跟隨變化

開始使用qt,在mainwindow中動態新增乙個widget的子視窗,想主視窗大小改變的時候,比如最大化。結果子視窗的大小不能改變。從網上查詢資料,說主視窗需要過載 protected virtual void resizeevent qresizeevent event override 然後我...