- 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上。
————————————————
版权声明:本文为CSDN博主「hAnjiaLE1998」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43742643/article/details/100172184