Qt 布局,設定控制項邊距,拉伸因子

2021-07-14 15:14:27 字數 2006 閱讀 8947

控制項所佔空間

qgridlayout *leftlayout =

new qgridlayout(this);

leftlayout->addwidget(label1, 0, 0); //label1在第1行第1列

leftlayout->addwidget(label2, 0, 1); //label2在第1行第2列

leftlayout->addwidget(btn1, 1, 0, 1, 2); //btn1在第2行第1列,占用的列數為1,占用的行數為2

leftlayout->setcolumnstretch(0, 1); //第1列佔**布局的1/4

leftlayout->setcolumnstretch(1, 3); //第2列佔**布局的3/4

rightlayout->setmargin(10); //控制項與窗體左右邊距

rightlayout->setspacing(10); //控制項之間的邊距

rightlayout->addwidget(label3);

rightlayout->addwidget(label4);

rightlayout->setstretchfactor(label3, 1); //label3佔水平布局的1/4

rightlayout->setstretchfactor(label4, 3); //label4佔水平布局的3/4

如果將qhboxlayout改為qvboxlayout,結果如下:

控制項位置

qvboxlayout *buttomlayout =

new qvboxlayout(this);

buttomlayout->addstretch(1); //在label5前面的空白佔總空白的1/6

buttomlayout->addwidget(label5);

buttomlayout->addstretch(3); //在label6前面的空白佔總空白的3/6

buttomlayout->addwidget(label6);

buttomlayout->addstretch(2); //在label6後面的空白佔總空白的2/6

如果將qvboxlayout改為qhboxlayout,結果如下:

總體布局

qgridlayout *mainlayout =

new qgridlayout(this);

mainlayout->setmargin(15);

mainlayout->setspacing(10);

mainlayout->addlayout(leftlayout,0, 0);

mainlayout->addlayout(rightlayout,0, 1);

mainlayout->addlayout(buttomlayout, 1, 0, 1, 2);

設定div邊距

設定外邊距 margin top 20px margin right 30px margin bottom 40px margin left 30px margin 20px 只有乙個值,同時設定四個方向的值 margin 0 20px 兩個值,第乙個值是上下 x軸 第二個值是左右 y軸 margi...

ReportViewer 的邊距設定

reportviewer 報表的載入方式有兩種 一種是嵌入式資源,一種是檔案路徑 使用路徑方式載入報表並修改報表檔案,可以設定列印的頁邊距。如下 此設定中較為難處理的地方主要是讀取和設定節點值。因為報表xml檔案中,使用了微軟的報表命名空間,因此在讀取和設定時,必須考慮此問題。而我們一般在自己寫的x...

設定列印頁邊距 微信排版的頁邊距

關於排版前段時間我發了條朋友圈 有哪些東西是你一旦知道,生活就從此回不去了的?審美。001 排版的作用 正文排版,包括三部分 1.文字 字型大小 顏色 標點符號 排版規範 2.留白 字間距 行間距 段間距 頁邊距 3.配圖 封面圖 配圖 gif 留白 字間距 行間距 段間距 頁邊距等,這些是 白 的...