Qt -- 界面設計之使用 sizePolicy 屬性


一、sizePolicy(大小策略)屬性介紹

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

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

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

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

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

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

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

二、使用

(一)在UI 設計器中設置

(二)代碼實現

    QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
    sizePolicy.setHorizontalStretch(0);
    sizePolicy.setVerticalStretch(0);
    sizePolicy.setHeightForWidth(widgetMain->sizePolicy().hasHeightForWidth());
    widgetMain->setSizePolicy(sizePolicy);

三、案例

將三個按鈕放在一個 widget 中,對 widget 設置水平布局,未設置大小策略之前:

在這里插入圖片描述

要求:兩邊按鈕水平方向固定大小,中間按鈕隨着界面的增大而變大,即:

在這里插入圖片描述

那么只要設置中間按鈕的大小策略為水平方向擴展即可,即:

在這里插入圖片描述

 

https://blog.csdn.net/panchang199266/article/details/104718541

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM