Qt remove margins

c++, css, margins, qt, widget

Solution

You simply need to set the spacing attribute of your box layout to zero:

 this->mainLayout->setSpacing(0);

Problem

I am currently using a QMainWindow widget and I would like to remove margins around the widget inside. I success to remove margins for window borders but not for the widgets inside my window. Here is my code, for example : ``` this->mainWidget = new QWidget(this); this->mainLayout = new QHBoxLayout; QLabel *foo = new QLabel("foo", this); QLabel *bar = new QLabel("bar", this); mainLayout->setContentsMargins(0, 0, 0, 0); // Remove margins for window borders this->setWindowFlags(Qt::FramelessWindowHint); foo->setStyleSheet("background-color: green"); bar->setStyleSheet("background-color: red"); foo->setContentsMargins(0, 0, 0, 0); // Has no effect bar->setContentsMargins(0, 0, 0, 0); // Has no effect this->mainLayout->addWidget(foo); this->mainLayout->addWidget(bar); this->mainWidget->setLayout(mainLayout); this->setCentralWidget(mainWidget); ``` And here is what it rendered : I would like to remove the white part between the two widgets. Have you an idea how to make that kind of things ? Thank you.

Original source

Related problems