【问题标题】:Removing extra spacing around QWidget移除 QWidget 周围的额外间距
【发布时间】:2012-08-14 14:38:52
【问题描述】:

如何去除 QWidget 周围的多余间距?

这是一个简单的例子。小部件的空间是灰色的;你看,它的内容(图像、文本和按钮)周围有一些空间(大约 0.3-0.4 厘米)。

小部件的空间被突出显示

setAutoFillBackground(true);
QPalette pal(palette());
pal.setColor(QPalette::Background, QColor("#e5e5e5"));
setPalette(pal);

这是内容(通过为整个小部件运行 setStyleSheet( "background-color: red"); 突出显示。

“移除额外间距”是指移除内容周围约 0.2-0.3 厘米的灰色空间。

【问题讨论】:

    标签: c++ qt user-interface


    【解决方案1】:

    使用 setContentsMargins() 方法更改您添加 QWidget 的布局和您希望更改的任何其他布局的内容边距。

    【讨论】:

      【解决方案2】:

      您可以使用两个函数来消除布局中的所有间距:

      1)QLayout::setMargin(0)
      2)QLayout::setSpacing(0)
      

      【讨论】:

      • 尽管::setMargin() 已经过时,但我仍然喜欢使用它,因为它很方便:)