Qt中窗體控制項按照比例縮放,自適應視窗大小進行布局

2021-07-28 08:03:01 字數 1255 閱讀 1248

最近在做本科畢設,用到了qt,無奈本人實在是太過於小白了,很多東西都進行了很久的探索,比如今天說到的窗體控制項布局...一把辛酸淚

首先就是建立乙個gui檔案,然後進行ui設計,這裡就只需要從左邊進行拖拽,這個很easy啦...

然後對其進行布局,比如右邊,右下兩個pushbutton我們可以對其進行水平布局,然後再將其整體與上邊兩個graphics view進行垂直布局! 布局

->選定要進行布局的控制項,然後進行右擊最後一項就是布局,或者直接在左側欄裡進行layout。

比例調整

->如

果想對兩個graphic view進行比例調控的話,就直接用到layout下的layoutstretch進行比例調整,這個比例調整會一直保持不變動。

從網路上找到了一張能很好說明的圖:(原圖:

然後按照以上方法進行你想要的布局就好了。

最後,最重要的是,一定一定要在窗體中進行布局!只有設定了頂層布局,控制項才能自適應窗體。

結合控制項的sizepolicy屬性,來控制布局管理中的控制項的尺寸自適應方式。一些常用值的含義:

fixed:控制項不能放大或者縮小,控制項的大小就是它的sizehint。

minimum:控制項的sizehint為控制項的最小尺寸。控制項不能小於這個sizehint,但是可以放大。

maximum:控制項的sizehint為控制項的最大尺寸,控制項不能放大,但是可以縮小到它的最小的允許尺寸。

preferred:控制項的sizehint是它的sizehint,但是可以放大或者縮小

expandint:控制項可以自行增大或者縮小

注:sizehint(布局管理中的控制項預設尺寸,如果控制項不在布局管理中就為無效的值)

不過我個人覺得,這個值的預設值給出的就十分合理,比如:pushbutton的水平策略是minimum,垂直策略是fixed;而line edit的水平策略則是expandint,垂直策略時fixed。

見仁見智吧,學習路上,殊途同歸!

Qt Creator 窗體控制項自適應視窗大小布局

qt中如果想實現窗體內空間隨著窗體大小調整,必須使用布局管理,常用的布局管理有qhboxlayout qvboxlayout qgridlayout,空的地方使用spacer控制項進行填充,因此首先將窗體空間使用布局管理典型應用如下圖所示。我這裡使用qgridlayout,按住ctrl多選需要布局的...

Qt Creator 窗體控制項自適應視窗大小布局

qt中如果想實現窗體內空間隨著窗體大小調整,必須使用布局管理,常用的布局管理有qhboxlayout qvboxlayout qgridlayout,空的地方使用spacer控制項進行填充,因此首先將窗體空間使用布局管理典型應用如下圖所示。我這裡使用qgridlayout,按住ctrl多選需要布局的...

Qt Creator 窗體控制項自適應視窗大小布局

qt 的詳細介紹 請點這裡 請點這裡 推薦閱讀 ubuntu 環境下gtk與qt編譯環境安裝與配置 linux系統下qt環境搭建 ubuntu下qt控制台程式無法執行的解決方案以及xterm的配置方法 ubuntu 10.04下qt4.7.4移植詳解 linux下為剛安裝好的qt creator 建...