日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT窗体控件自适应大小

發布時間:2025/4/5 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT窗体控件自适应大小 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹QT中的幾種常見布局

常用的布局方法:

(1)使用水平布局類QHBoxLayout;

(2)使用垂直布局類QVBoxLayout;

(3)使用網格布局類QGridLayout;

(4)使用表格布局類QFormLayout;

(5)使用分組布局類QStackLayout(QStackedLayout類把子控件進行分組或者分頁,一次只顯示一組或者一頁,隱藏其他組或者頁上的控件)。

當整體的布局完成以后控件就可以跟著界面放大縮小了

要想是控件根據窗體進行調整,最為重要的一點就是設置窗口部件的大小策略,各控件均有這一項設置,如下圖所示。

在這次項目中,當時沒有對兩個窗體設置最小大小,以及策略,結果每次布局都會縮小最小或者布局很難看。

這部分具體的參數解釋摘錄如下:

結合控件的SizePolicy屬性,來控制布局管理中的控件的尺寸自適應方式。

控件的sizePolicy說明控件在布局管理中的縮放方式。Qt提供的控件都有一個合理的缺省sizePolicy,但是這個缺省值有時不能適合所有的布局,開發人員經常需要改變窗體上的某些控件的sizePolicy。一個QSizePolicy的所有變量對水平方向和垂直方向都適用。下面列舉了一些最長用的值:

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

B. Minimum:控件的sizeHint為控件的最小尺寸。控件不能小于這個sizeHint,但是可以

放大。

C. Maximum:控件的sizeHint為控件的最大尺寸,控件不能放大,但是可以縮小到它的最小

的允許尺寸。

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

E. Expandint:控件可以自行增大或者縮小

注:sizeHint(布局管理中的控件默認尺寸,如果控件不在布局管理中就為無效的值)

所以對于需要根據窗口大小對應改變的部件我這里就設置為Expandint。

在部件大小策略的下方還有伸縮因子的設置,用于設置窗口部件在伸縮過程中的對應比例,這部分可以自行摸索。

要想實現隨著窗口自動縮放,很重要的一點是需要設置頂級布局,對于一個窗口來說,只能有一個布局成為它的頂級布局,而剛剛的設置還只是控件之間的布局,因此需要放入窗體布局中進行布局。

在沒有控件的地方右擊-布局-在狀體布局中布局,如下圖所示:

接下來把需要布局的布局拖放到窗體布局中,這兒可以在右側對象中選擇,然后將控件向上拖入紅框中(發現這一步不做也可以,直接進行下一步,不清楚在窗體布局中布局這項是啥區別),最后再在窗體沒有控件出右擊-布局-選擇水平或者垂直布局(因為我之前已經是柵格布局了,相當于只有一個整體布局,因此這里選擇哪一個沒有區別)下圖是操作前后對象窗口的對比。

布局完成后效果如下:

到這兒,窗體就可以自由縮放了,由于我這里是使用label控件顯示圖像,因此窗體大小調整,圖像會自動調整。

總結:一開始繞彎主要在兩個地方,一個是控件的SizePolicy屬性設置,二是一定要設置頂級布局。

最終實現布局成品,最小大小是這個樣子

點擊右上角方法按鈕后

總結

以上是生活随笔為你收集整理的QT窗体控件自适应大小的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。