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

  • 相关阅读:
    LINQ的from子句和foreach语句的区别
    mysql连接错误10061
    iframe嵌套iframe阻塞
    2016-12有感,微信,组建
    js进阶篇学习
    html5的学习
    rocketmq集群(三)
    rocketmq发送普通消息(二)
    rocketmq安装(一)
    kafka stream及interceptor(四)
  • 原文地址:https://www.cnblogs.com/sggggr/p/12671669.html
Copyright © 2020-2023  润新知