QBoxLayout中setSpacing(int)和addSpacing(int)的区别

setSpacing(int) 是设置 layout 中各部件的相邻距离,如果不设置,这个距离默认是 10。

addSpacing(int) 是在 setSpacing(int) 的基础之上再插入间距。这个距离可以是负值,表示后一个部件会覆盖在前一个部件上面。

QHBoxLayout *Layout = new QHBoxLayout(this);
Layout->setSpacing(5);  //设置各部件的相邻距离
Layout->addSpacing(10);  //插入间距10
Layout->addWidget(IconLabel);
Layout->addSpacing(20);  //插入间距20
Layout->addWidget(TitleLabel);
Layout->addStretch(-10);  //插入间距-10,使CloseButton部分覆盖在TitleLabel上
Layout->addWidget(CloseButton);
Layout->addStretch();
Layout->setContentsMargins(0, 0, 0, 0);  //设置左上右下边距
setLayout(Layout);

按照上面代码设置后:
IconLabel和左边界的距离为10 + 5 = 15;
TitleLabel和IconLabel的距离为20 + 5 = 25;
CloseButton和TitleLabel的距离为-10 + 5 = -5,意味着CloseButton有5像素宽的部分覆盖在TitleLabel上。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值