1. 程式人生 > >Qt中窗體控制元件按照比例縮放,自適應視窗大小進行佈局

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

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

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

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

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

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


從網路上找到了一張能很好說明的圖:(原圖:https://zhidao.baidu.com/question/1386088343094179380.html)

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

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

給大家參考一下我的佈局:


  參考了其他的文章,瞭解到關於控制元件調整還有一個很重要的引數值是SizePolicy。

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

Fixed:控制元件不能放大或者縮小,控制元件的大小就是它的sizeHint。

Minimum:控制元件的sizeHint為控制元件的最小尺寸。控制元件不能小於這個sizeHint,但是可以放大。

Maximum:控制元件的sizeHint為控制元件的最大尺寸,控制元件不能放大,但是可以縮小到它的最小的允許尺寸。

Preferred:控制元件的sizeHint是它的sizeHint,但是可以放大或者縮小

Expandint:控制元件可以自行增大或者縮小

注:sizeHint(佈局管理中的控制元件預設尺寸,如果控制元件不在佈局管理中就為無效的值)

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

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