首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Qt 佈局管理:setMargin() 與 setSpacing() 詳細區別圖解

     編輯:關於C語言

核心結論速查

方法作用對象視覺效果典型值
setMargin(int)佈局邊緣與窗體/父控件的距離四周留白(左、右、上、下)30 像素
setSpacing(int)佈局內相鄰控件之間的間距控件之間的縱向/橫向間隙40 像素

代碼示例

mainLayout = new QVBoxLayout(this);

mainLayout->setMargin(30);   // 控件與窗體邊界的邊距
mainLayout->setSpacing(40);  // 控件之間的上下間距

視覺化示意

+----------------------------------+  ← 窗體邊界
|  margin=30px                     |
|  +--------------------------+    |
|  |  Control 1               |    |
|  +--------------------------+    |
|         spacing=40px             |  ← 控件間距
|  +--------------------------+    |
|  |  Control 2               |    |
|  +--------------------------+    |
|         spacing=40px             |
|  +--------------------------+    |
|  |  Control 3               |    |
|  +--------------------------+    |
|  margin=30px                     |
+----------------------------------+

進階說明

  • Qt 5.11+ 棄用提示:setMargin() 已棄用,建議使用 setContentsMargins(left, top, right, bottom) 獨立設置四邊
  • 佈局嵌套時:內層佈局的 margin 相對於外層佈局分配的區域,spacing 僅影響同層佈局內的控件
  • 負值效果:margin 設負值會導致控件超出佈局區域,spacing 負值會導致控件重疊,一般不推薦

本文整理自「大白菜」博客,原文地址:https://zhengyongkun.blog.51cto.com/1163218/1296980

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved