QT 布局管理器設定控制項固定大小,控制項間隔

2021-10-11 15:30:33 字數 1694 閱讀 5488

布局管理器剛開始用的時候,會出現比例不是自己想要的,又或者自動縮放尺寸不理想,這個時候就會想要設定布局管理器中控制項的大小,達到理想布局。

使用函式:

1.設定布局管理器內部尺寸比例:

qvboxlayout::setstretchfactor(qlayout *1,int);

qlayout *1:新增的控制項

int:所佔布局管理器的比例

//例:

qvboxlayout::setstretchfactor(btn1,2);

qvboxlayout::setstretchfactor(btn2,1);

結果:btn1:btn2 = 2:1;

注:一般不設定尺寸比例的話,都是等比分布,設定尺寸比例的時候最好新增的控制項都重新設定

2.新增彈簧使控制項向左,向右,居中對齊:

qhboxlayout::addstretch(int stretch = 0);

用法:以水平管理器為例,

布局管理器在新增完控制項後使用函式addstretch(),則控制項排布向左靠齊

布局管理器在新增控制項前使用函式addstretch(),則控制項排布向右靠齊

布局管理器在新增每個控制項前後使用函式addstretch(),則控制項居中排布

//新增最後向左靠齊

hboxlayout1 = new qhboxlayout();

hboxlayout1->addwidget(btn1);

hboxlayout1->addwidget(btn2);

hboxlayout1->addwidget(btn3);

hboxlayout1->addwidget(btn4);

hboxlayout1->addstretch();

//這個就像在這乙個水平布局管理器新增了乙個個彈簧將各個控制項向前擠,靠左對齊,根據彈簧位置,彈簧壓縮,設定對齊方式。

3.設定控制項最大最小尺寸,控制在布局管理器內的縮放尺寸:

(1).qlabel::setminimumsize(int,int);//最小尺寸

qlabel::setmaximumsize(int,int);//最大尺寸

lab2 = new qlabel(this);

lab2->setminimumsize(502,278);

lab2->setmaximumsize(502,278);

控制項可以設定最大尺寸和最小尺寸,如果最大尺寸和最小尺寸一樣,控制項就固定尺寸,在布局管理器裡也一樣,不會自動縮放

(2).setfixedsize (  int w, int h ) ;//相當於最大最小尺寸相等

lab1->setfixedsize(800,450);
4.設定兩個控制項之間間隔:

qhboxlayout::addspacing(int);

vlayout1->addspacing(50);
注:這個有點像佔位符,類似**控制項,根據你設定的大小佔據空間。

Qt 布局管理器

布局管理器是qt提供的一種自動完成窗體布局的工具,減少我們的工作量並且很美觀!基本的布局管理器有四種 horizontal,vertical,grid,和form 布局管理器。這些在前面的例子都能看到是如何使用的。qt的幫助文件裡也有乙個專門講他們的例子 basic layouts qhboxlay...

qt布局管理器入門

1.qt布局管理器的簡介 qtdesigner 是乙個視覺化的基於qt的使用者介面設計工具。用來生成 ui 定義檔案,而不考慮具體的語言。很好使用,掌握其中的布局管理是學習好qtdesigner的關鍵。布局管理器 在建立的視窗中,為了方便地管理其中的控制項,而誕生了布局管理器。將各種控制項按照實際需...

使用QT布局管理器

qt 布局管理介面 並茂是本文介紹的內容,先來看內容。今天來實現乙個溫度轉換器的介面。如下圖 水平布局管理器可以把它所管理的部件以水平的順序依次排開,例如上圖中中間的 centigrade 和 fahrenheit 兩段文字,就是水平排列的,這個時候就可以用水平布局管理器來實現。垂直管理器類似,它可...