diff --git a/GUI/View/Access/DataPropertyWidget.cpp b/GUI/View/Access/DataPropertyWidget.cpp
index 3953409bb41064670292b848b7d88c1dbd6f4840..49e25c88505dbebbc745edc1cdf6c2d9b4499c50 100644
--- a/GUI/View/Access/DataPropertyWidget.cpp
+++ b/GUI/View/Access/DataPropertyWidget.cpp
@@ -27,6 +27,7 @@ DataPropertyWidget::DataPropertyWidget(QWidget* parent)
     setWindowTitle("Properties");
 
     m_mainLayout = new QFormLayout(this);
+    m_mainLayout->setContentsMargins(8, 20, 8, 8);
     m_mainLayout->setSpacing(5);
 }
 
diff --git a/GUI/View/Access/IntensityDataPropertyWidget.cpp b/GUI/View/Access/IntensityDataPropertyWidget.cpp
index a7df6f199134bfacc01446ee4ca18955e8fe7581..e51a963ca98da58f23b772efe4d3581ebc467711 100644
--- a/GUI/View/Access/IntensityDataPropertyWidget.cpp
+++ b/GUI/View/Access/IntensityDataPropertyWidget.cpp
@@ -90,6 +90,7 @@ void IntensityDataPropertyWidget::createPanelElements()
     // -- x-axis
     auto* xGroup = new StaticGroupBox("X axis", this);
     auto* xFormLayout = new QFormLayout(xGroup->body());
+    xFormLayout->setContentsMargins(0, 0, 0, 0);
     xFormLayout->setSpacing(5);
 
     xFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox(
@@ -115,6 +116,7 @@ void IntensityDataPropertyWidget::createPanelElements()
     // -- y-axis
     auto* yGroup = new StaticGroupBox("Y axis", this);
     auto* yFormLayout = new QFormLayout(yGroup->body());
+    yFormLayout->setContentsMargins(0, 0, 0, 0);
     yFormLayout->setSpacing(5);
 
     yFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox(
@@ -140,6 +142,7 @@ void IntensityDataPropertyWidget::createPanelElements()
     // -- color-axis
     auto* zGroup = new StaticGroupBox("Color legend", this);
     auto* zFormLayout = new QFormLayout(zGroup->body());
+    zFormLayout->setContentsMargins(0, 0, 0, 0);
     zFormLayout->setSpacing(5);
 
     auto* logRangeSpinbox = GUI::Util::createDoubleSpinbox(
diff --git a/GUI/View/Combo/ItemComboWidget.cpp b/GUI/View/Combo/ItemComboWidget.cpp
index a6e9a31e4a74faffb20f4cf9aac4fef2296c4136..ac0d3da0a1cbe98c2fb2b8386c63d23e6185dcc0 100644
--- a/GUI/View/Combo/ItemComboWidget.cpp
+++ b/GUI/View/Combo/ItemComboWidget.cpp
@@ -31,6 +31,7 @@ ItemComboWidget::ItemComboWidget(QWidget* parent)
     m_stackedWidget->addWidget(m_blankWidget);
 
     auto* layout = new QVBoxLayout;
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     layout->addWidget(m_toolbar);
     layout->addWidget(m_stackedWidget);
diff --git a/GUI/View/Data/DataView.cpp b/GUI/View/Data/DataView.cpp
index bd1a646c1cf2480c0fe34b31830f4bce4f7880db..a07fc4bc14f78bd5aa4e8322ffaf3ae4b82bb401 100644
--- a/GUI/View/Data/DataView.cpp
+++ b/GUI/View/Data/DataView.cpp
@@ -25,8 +25,8 @@
 DataView::DataView(QWidget* parent, ProjectDocument* document)
     : QWidget(parent)
 {
-    auto* mainLayout = new QVBoxLayout;
-    setLayout(mainLayout);
+    auto* mainLayout = new QVBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
 
     auto* splitter = new QSplitter;
diff --git a/GUI/View/Data/DatafileEditor.cpp b/GUI/View/Data/DatafileEditor.cpp
index 24fa191d0c83dd42ddef2ceb3f3cb5908ff2912c..93b67bf89e2dfe7696b289d91a29b80a524f9529 100644
--- a/GUI/View/Data/DatafileEditor.cpp
+++ b/GUI/View/Data/DatafileEditor.cpp
@@ -31,6 +31,7 @@ DatafileEditor::DatafileEditor(QWidget* parent, ProjectDocument* document)
     setWindowTitle("DatafileEditor");
 
     auto* layout = new QVBoxLayout;
+    layout->setContentsMargins(5, 5, 5, 5);
     layout->setSpacing(2);
 
     m_instrumentCombo->setToolTip("Select instrument to link with real data");
diff --git a/GUI/View/Data/DatafilesSelector.cpp b/GUI/View/Data/DatafilesSelector.cpp
index fc82356209481bccf71e915b3de6326521f37205..7125830804d5bb4f2c3374313eb4e11ecb1ed957 100644
--- a/GUI/View/Data/DatafilesSelector.cpp
+++ b/GUI/View/Data/DatafilesSelector.cpp
@@ -113,6 +113,7 @@ DatafilesSelector::DatafilesSelector(QWidget* parent, ProjectDocument* document)
     splitter->setChildrenCollapsible(true);
 
     auto* mainLayout = new QVBoxLayout;
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
     mainLayout->addWidget(splitter);
 
diff --git a/GUI/View/Data/RealDataMaskWidget.cpp b/GUI/View/Data/RealDataMaskWidget.cpp
index 580abbff1de28d8716fbd55f8c361f615ac26610..c410146caa42df73498e9f8be4cc9cb987ac9e83 100644
--- a/GUI/View/Data/RealDataMaskWidget.cpp
+++ b/GUI/View/Data/RealDataMaskWidget.cpp
@@ -38,8 +38,9 @@ RealDataMaskWidget::RealDataMaskWidget(QWidget* parent)
     splitter->setCollapsible(1, true);
 
     QHBoxLayout* mainLayout = new QHBoxLayout(this);
-    mainLayout->addWidget(splitter);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
+    mainLayout->addWidget(splitter);
 
     auto* toolbar = new MaskEditorToolbar(m_editorActions);
     toolbar->setOrientation(Qt::Vertical);
diff --git a/GUI/View/Fit/FitActivityPanel.cpp b/GUI/View/Fit/FitActivityPanel.cpp
index c2732f6c0b78da2c47081eb6bad2c09475a3eec4..2d73b83d0719f5eed078299825c8d872890af030 100644
--- a/GUI/View/Fit/FitActivityPanel.cpp
+++ b/GUI/View/Fit/FitActivityPanel.cpp
@@ -36,6 +36,7 @@ FitActivityPanel::FitActivityPanel(QWidget* parent)
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::MinimumExpanding);
 
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     m_stack = new QStackedWidget(this);
     layout->addWidget(m_stack);
diff --git a/GUI/View/Fit/FitSessionWidget.cpp b/GUI/View/Fit/FitSessionWidget.cpp
index a78d086fcf7146c50402991607e9348aded9cbd4..e1000299d13ce8c65d94a4f0027bdf1889eb3359 100644
--- a/GUI/View/Fit/FitSessionWidget.cpp
+++ b/GUI/View/Fit/FitSessionWidget.cpp
@@ -32,6 +32,8 @@ FitSessionWidget::FitSessionWidget(QWidget* parent)
     , m_sessionController(nullptr)
 {
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+
     m_tabWidget = new QTabWidget(this);
     m_tabWidget->addTab(m_fitParametersWidget, "Fit Parameters");
     m_tabWidget->addTab(m_minimizerSettingsWidget, "Minimizer");
diff --git a/GUI/View/Fit/JobRealTimeWidget.cpp b/GUI/View/Fit/JobRealTimeWidget.cpp
index 4a0cee075de83beff5f8e2feaf1e68c0d86221ab..daedb628c539e0c9b3208c6668cb0d60340ae9ed 100644
--- a/GUI/View/Fit/JobRealTimeWidget.cpp
+++ b/GUI/View/Fit/JobRealTimeWidget.cpp
@@ -34,10 +34,10 @@ JobRealTimeWidget::JobRealTimeWidget(JobModel* jobModel, QWidget* parent)
     setObjectName("JobRealTimeWidget");
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
 
-    auto* mainLayout = new QVBoxLayout;
+    auto* mainLayout = new QVBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
     mainLayout->addWidget(m_stackedWidget);
-    setLayout(mainLayout);
 
     setFixedWidth(GUI::Style::FIT_ACTIVITY_PANEL_WIDTH);
     applySettings();
diff --git a/GUI/View/FitObjective/FitParameterWidget.cpp b/GUI/View/FitObjective/FitParameterWidget.cpp
index e7b2d67f517c3f4cabb845593ae7ae4738284b0a..67b30752f41b24eb3e74dbe35235150ce1a85c9e 100644
--- a/GUI/View/FitObjective/FitParameterWidget.cpp
+++ b/GUI/View/FitObjective/FitParameterWidget.cpp
@@ -41,8 +41,9 @@ FitParameterWidget::FitParameterWidget(QWidget* parent)
     , m_infoLabel(new OverlayLabelController(this))
 {
     auto* layout = new QVBoxLayout(this);
-    layout->addWidget(m_treeView);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
+    layout->addWidget(m_treeView);
     init_actions();
 
     m_treeView->setSelectionMode(QAbstractItemView::ExtendedSelection);
diff --git a/GUI/View/FitObjective/ParameterTuningDelegate.cpp b/GUI/View/FitObjective/ParameterTuningDelegate.cpp
index 5fe8e9f273d90e0911c051d3a20499200f5f8628..faa666d2f0d23d73e3d398d51d9a15651c68d5e5 100644
--- a/GUI/View/FitObjective/ParameterTuningDelegate.cpp
+++ b/GUI/View/FitObjective/ParameterTuningDelegate.cpp
@@ -153,8 +153,8 @@ QWidget* ParameterTuningDelegate::createEditor(QWidget* parent, const QStyleOpti
     auto* result = new QWidget(parent);
     result->setObjectName("ParameterTuner"); // DEBUG
 
-    m_contentLayout = new QHBoxLayout(parent);
-    result->setLayout(m_contentLayout);
+    m_contentLayout = new QHBoxLayout(result);
+    m_contentLayout->setContentsMargins(0, 0, 0, 0);
 
     //... Spin box
 
diff --git a/GUI/View/FitObjective/ParameterTuningWidget.cpp b/GUI/View/FitObjective/ParameterTuningWidget.cpp
index 362bdd941e774bbec625fd174d1a90951804a65c..bc2566b583b15a431be346117060f3914fb50b8a 100644
--- a/GUI/View/FitObjective/ParameterTuningWidget.cpp
+++ b/GUI/View/FitObjective/ParameterTuningWidget.cpp
@@ -73,6 +73,7 @@ ParameterTuningWidget::ParameterTuningWidget(QWidget* parent)
     toolbar->addAction(resetValuesAction);
 
     auto* mainLayout = new QVBoxLayout;
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
     mainLayout->addWidget(toolbar);
     mainLayout->addWidget(m_sliderSettingsWidget);
diff --git a/GUI/View/Info/ComboSelectorDialog.cpp b/GUI/View/Info/ComboSelectorDialog.cpp
index e0a7389b45ec803450941da6c2ef13fbbcd1a7fb..e3e6548824b52f3debc8a479c5509648f128daa9 100644
--- a/GUI/View/Info/ComboSelectorDialog.cpp
+++ b/GUI/View/Info/ComboSelectorDialog.cpp
@@ -74,6 +74,7 @@ QString ComboSelectorDialog::currentText() const
 QBoxLayout* ComboSelectorDialog::createLogoLayout()
 {
     auto* result = new QVBoxLayout;
+    result->setContentsMargins(0, 5, 0, 5);
 
     QIcon icon = qApp->style()->standardIcon(QStyle::SP_MessageBoxQuestion);
 
@@ -91,6 +92,7 @@ QBoxLayout* ComboSelectorDialog::createLogoLayout()
 QBoxLayout* ComboSelectorDialog::createInfoLayout()
 {
     auto* result = new QVBoxLayout;
+    result->setContentsMargins(0, 5, 5, 5);
 
     m_topLabel->setWordWrap(true);
     m_bottomLabel->setWordWrap(true);
diff --git a/GUI/View/Info/DetailedMessageBox.cpp b/GUI/View/Info/DetailedMessageBox.cpp
index ce69b05605fa9f3e781eb08e2dce56298050d97e..70bca696f333f34f4e3ffd737c381c3da6bb41ce 100644
--- a/GUI/View/Info/DetailedMessageBox.cpp
+++ b/GUI/View/Info/DetailedMessageBox.cpp
@@ -77,6 +77,7 @@ void DetailedMessageBox::setDetailedText(const QString& text)
 QBoxLayout* DetailedMessageBox::createLogoLayout()
 {
     auto* result = new QVBoxLayout;
+    result->setContentsMargins(5, 5, 5, 5);
 
     QIcon icon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning);
 
@@ -95,6 +96,7 @@ QBoxLayout* DetailedMessageBox::createInfoLayout()
     m_topLabel->setWordWrap(true);
 
     auto* result = new QVBoxLayout;
+    result->setContentsMargins(5, 5, 5, 5);
     result->addWidget(m_topLabel);
     return result;
 }
diff --git a/GUI/View/Instrument/DepthprobeInstrumentEditor.cpp b/GUI/View/Instrument/DepthprobeInstrumentEditor.cpp
index 23013c05658a455bd4886fffc466b2534c1104f2..cf11dbc41db33a192785318fd163df40d1dec3b2 100644
--- a/GUI/View/Instrument/DepthprobeInstrumentEditor.cpp
+++ b/GUI/View/Instrument/DepthprobeInstrumentEditor.cpp
@@ -27,6 +27,7 @@ DepthprobeInstrumentEditor::DepthprobeInstrumentEditor(QWidget* parent,
 {
     ASSERT(instrument);
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
 
     auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec, false);
     layout->addWidget(scanEditor);
diff --git a/GUI/View/Instrument/DistributionSelector.cpp b/GUI/View/Instrument/DistributionSelector.cpp
index 7a902449d3c6eb6868c21c767b50f2ec23d46ba4..15cfdf39f9e05d40a90339f430b979a4b0867219 100644
--- a/GUI/View/Instrument/DistributionSelector.cpp
+++ b/GUI/View/Instrument/DistributionSelector.cpp
@@ -32,6 +32,7 @@ DistributionSelector::DistributionSelector(std::optional<MeanConfig> mean_config
 {
     ASSERT(item);
     m_formLayout = new QFormLayout(this);
+    m_formLayout->setContentsMargins(0, 0, 0, 0);
 
     m_distributionCombo = GUI::Util::createComboBoxFromProperty(
         item->distributionSelection(),
diff --git a/GUI/View/Instrument/GISASInstrumentEditor.cpp b/GUI/View/Instrument/GISASInstrumentEditor.cpp
index 6d906fdb3e6f56c0934b1e138a0f46d684442a1e..954f9562ffc5ecbe55c61d9dbebb46ce54097841 100644
--- a/GUI/View/Instrument/GISASInstrumentEditor.cpp
+++ b/GUI/View/Instrument/GISASInstrumentEditor.cpp
@@ -26,6 +26,7 @@ GISASInstrumentEditor::GISASInstrumentEditor(QWidget* parent, GISASInstrumentIte
 {
     ASSERT(instrument);
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
 
     auto* beamEditor = new GISASBeamEditor(this, instrument->beamItem());
     layout->addWidget(beamEditor);
diff --git a/GUI/View/Instrument/InstrumentLibraryEditor.cpp b/GUI/View/Instrument/InstrumentLibraryEditor.cpp
index 3018f24b7985e103d650494f8fa28e01e6da1433..51715ef157b8d52b8d6c8465d41bb9f93027656c 100644
--- a/GUI/View/Instrument/InstrumentLibraryEditor.cpp
+++ b/GUI/View/Instrument/InstrumentLibraryEditor.cpp
@@ -168,8 +168,8 @@ void InstrumentLibraryEditor::createWidgetsForCurrentInstrument()
     auto title = QString("Summary (%1 instrument)").arg(currentInstrument->instrumentType());
     auto* g = new CollapsibleGroupBox(title, m_ui->scrollArea, currentInstrument->expandInfo);
     g->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
-    auto* formLayout = new QFormLayout;
-    g->body()->setLayout(formLayout);
+    auto* formLayout = new QFormLayout(g->body());
+    formLayout->setContentsMargins(17, 17, 17, 17);
     layout->addWidget(g);
 
     auto* nameEdit = new QLineEdit(g);
diff --git a/GUI/View/Instrument/OffspecInstrumentEditor.cpp b/GUI/View/Instrument/OffspecInstrumentEditor.cpp
index a62e40b055282dfe938cffd3aeb2724333aff46f..5259d72a055db744efcbf10c8f96ab36737dd418 100644
--- a/GUI/View/Instrument/OffspecInstrumentEditor.cpp
+++ b/GUI/View/Instrument/OffspecInstrumentEditor.cpp
@@ -27,6 +27,7 @@ OffspecInstrumentEditor::OffspecInstrumentEditor(QWidget* parent, OffspecInstrum
 {
     ASSERT(instrument);
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
 
     auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec, false);
     layout->addWidget(scanEditor);
diff --git a/GUI/View/Instrument/SpecularInstrumentEditor.cpp b/GUI/View/Instrument/SpecularInstrumentEditor.cpp
index 2f903a65d42dd22eee2e6b9c11ccec168bc3be24..018c1dc518661c3f76db47f8a14ad7e6fb3a5474 100644
--- a/GUI/View/Instrument/SpecularInstrumentEditor.cpp
+++ b/GUI/View/Instrument/SpecularInstrumentEditor.cpp
@@ -27,6 +27,7 @@ SpecularInstrumentEditor::SpecularInstrumentEditor(QWidget* parent,
 {
     ASSERT(instrument);
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
 
     auto* scanEditor = new ScanEditor(this, instrument->scanItem(), &m_ec);
     layout->addWidget(scanEditor);
diff --git a/GUI/View/Item/ItemStackWidget.cpp b/GUI/View/Item/ItemStackWidget.cpp
index 1c3241d54be55f6225e7cff5b404e764a306f21a..bb80e7de9dabcd1c538914dfc255b679aa467369 100644
--- a/GUI/View/Item/ItemStackWidget.cpp
+++ b/GUI/View/Item/ItemStackWidget.cpp
@@ -24,6 +24,7 @@ ItemStackWidget::ItemStackWidget(QWidget* parent)
     m_stackedWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
     auto* layout = new QVBoxLayout;
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     layout->addWidget(m_stackedWidget);
     setLayout(layout);
diff --git a/GUI/View/Item/ItemViewOverlayButtons.cpp b/GUI/View/Item/ItemViewOverlayButtons.cpp
index 5f197be07dcef937691c6c68eaf9e9a6e7654aac..43b7c4beda984a1a1440faca1cc3b73be8f9387d 100644
--- a/GUI/View/Item/ItemViewOverlayButtons.cpp
+++ b/GUI/View/Item/ItemViewOverlayButtons.cpp
@@ -111,6 +111,7 @@ void ItemViewOverlayWidget::mouseDoubleClickEvent(QMouseEvent* ev)
 void ItemViewOverlayWidget::create()
 {
     auto* h1 = new QHBoxLayout;
+    h1->setContentsMargins(0, 3, 5, 3);
     h1->setAlignment(m_horizontalAlignment | Qt::AlignTop);
     setLayout(h1);
 
diff --git a/GUI/View/JobControl/JobListing.cpp b/GUI/View/JobControl/JobListing.cpp
index eeab269656dd79b207f83f4127741956ccc93666..155e14086d609abf361e00db1b5415a21c3c6fa0 100644
--- a/GUI/View/JobControl/JobListing.cpp
+++ b/GUI/View/JobControl/JobListing.cpp
@@ -50,6 +50,7 @@ JobListing::JobListing(JobModel* jobs, QWidget* parent, Qt::WindowFlags f)
     : QWidget(parent, f)
 {
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
 
     m_runAction = new QAction("Run", this);
     m_runAction->setIcon(QIcon(":/images/play.svg"));
diff --git a/GUI/View/JobControl/JobPropertiesWidget.cpp b/GUI/View/JobControl/JobPropertiesWidget.cpp
index 0d93e1d93991e5ea2aef619499e09a9d93668997..1d0a5188745f193f812d6d93dd750ba3efd24a1e 100644
--- a/GUI/View/JobControl/JobPropertiesWidget.cpp
+++ b/GUI/View/JobControl/JobPropertiesWidget.cpp
@@ -42,6 +42,7 @@ JobPropertiesWidget::JobPropertiesWidget(QWidget* parent, Qt::WindowFlags f)
     setWindowTitle(GUI::Style::JobPropertiesWidgetName);
 
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     m_tabWidget = new QTabWidget(this);
diff --git a/GUI/View/JobControl/JobSelectorWidget.cpp b/GUI/View/JobControl/JobSelectorWidget.cpp
index 318dc621839ae8a63051f5c3da18b952d178992a..371345178da00b3eb995d9e74d304ee505b44fa8 100644
--- a/GUI/View/JobControl/JobSelectorWidget.cpp
+++ b/GUI/View/JobControl/JobSelectorWidget.cpp
@@ -48,6 +48,7 @@ JobSelectorWidget::JobSelectorWidget(JobModel* jobModel, QWidget* parent)
     setObjectName("JobSelectorWidget");
 
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     m_splitter = new QSplitter(Qt::Vertical, this);
diff --git a/GUI/View/Main/AboutDialog.cpp b/GUI/View/Main/AboutDialog.cpp
index aae4e45dee55a97d7a62daf848ce06a74653a990..0e95de7bde6b9b13cbc5554ef3ff8ce98ebe8090 100644
--- a/GUI/View/Main/AboutDialog.cpp
+++ b/GUI/View/Main/AboutDialog.cpp
@@ -44,6 +44,7 @@ QLabel* createLogoLabel()
 QBoxLayout* createLogoLayout()
 {
     auto* result = new QVBoxLayout;
+    result->setContentsMargins(5, 5, 5, 5);
 
     QPixmap logo(":/images/about_icon.png");
     auto* label = new QLabel;
diff --git a/GUI/View/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp
index c553ac1873c147e5a4d5ad4da0e14327d00a2534..4bd374e3f9a123a50bc884ff77c340671f13641d 100644
--- a/GUI/View/Main/MainWindow.cpp
+++ b/GUI/View/Main/MainWindow.cpp
@@ -57,7 +57,10 @@ MainWindow::MainWindow()
 {
     auto* centralWidget = new QWidget(this);
     auto* mainLayout = new QHBoxLayout(centralWidget);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
+
+    m_viewSelectionButtonsLayout->setContentsMargins(0, 0, 0, 0);
     m_viewSelectionButtonsLayout->setSpacing(0);
 
     auto* fillerButton = createViewSelectionButton();
@@ -69,6 +72,7 @@ MainWindow::MainWindow()
     connect(m_viewSelectionButtons, &QButtonGroup::idClicked, this, &MainWindow::raiseView);
 
     auto* vlayout = new QVBoxLayout;
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
     vlayout->addLayout(m_viewsStack);
 
diff --git a/GUI/View/Mask/MaskEditorCanvas.cpp b/GUI/View/Mask/MaskEditorCanvas.cpp
index 33e8df13cc567adb74b1e663cd1c3d21f7a728e4..aea9869582a5231934d39d480725fac837aa59d6 100644
--- a/GUI/View/Mask/MaskEditorCanvas.cpp
+++ b/GUI/View/Mask/MaskEditorCanvas.cpp
@@ -36,11 +36,11 @@ MaskEditorCanvas::MaskEditorCanvas(QWidget* parent)
     setObjectName("MaskEditorCanvas");
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-    auto* layout = new QVBoxLayout;
-    setLayout(layout);
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->setSpacing(0);
     layout->addWidget(m_view);
     layout->addWidget(m_statusLabel);
-    layout->setSpacing(0);
 
     connect(m_view, &MaskGraphicsView::changeActivityRequest, this,
             &MaskEditorCanvas::changeActivityRequest);
diff --git a/GUI/View/Mask/MaskEditorPropertyPanel.cpp b/GUI/View/Mask/MaskEditorPropertyPanel.cpp
index c252f77ae3959bcfc93841ba9cc2f2d0c64a46e3..e96eae196b7b4f50c1b6f711e0d20d4b513723ff 100644
--- a/GUI/View/Mask/MaskEditorPropertyPanel.cpp
+++ b/GUI/View/Mask/MaskEditorPropertyPanel.cpp
@@ -42,14 +42,15 @@ MaskEditorPropertyPanel::MaskEditorPropertyPanel(QWidget* parent)
     connect(m_listView, &QListView::customContextMenuRequested, this,
             &MaskEditorPropertyPanel::onCustomContextMenuRequested);
 
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(8);
 
     // -- mask stack
     auto* g2 = new StaticGroupBox("Mask stack", this);
     layout->addWidget(g2);
-    auto* l2 = new QVBoxLayout;
-    g2->body()->setLayout(l2);
+    auto* l2 = new QVBoxLayout(g2->body());
+    l2->setContentsMargins(0, 0, 0, 0);
     m_listView->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
     l2->addWidget(m_listView);
 
@@ -57,10 +58,8 @@ MaskEditorPropertyPanel::MaskEditorPropertyPanel(QWidget* parent)
     auto* g3 = new StaticGroupBox("Mask properties", this);
     layout->addWidget(g3);
     g3->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
-    m_maskPropertiesLayout = new QFormLayout;
-    g3->body()->setLayout(m_maskPropertiesLayout);
-
-    setLayout(layout);
+    m_maskPropertiesLayout = new QFormLayout(g3->body());
+    m_maskPropertiesLayout->setContentsMargins(0, 0, 0, 0);
 }
 
 void MaskEditorPropertyPanel::setJobOrRealItem(QObject* job_or_real_item)
diff --git a/GUI/View/Plot2D/ColorMapCanvas.cpp b/GUI/View/Plot2D/ColorMapCanvas.cpp
index 8b2e438e63f6efacca97d8676a7ee7898ee451d6..5ed14dfebeb2e2ea76b47ab462026601eb584789 100644
--- a/GUI/View/Plot2D/ColorMapCanvas.cpp
+++ b/GUI/View/Plot2D/ColorMapCanvas.cpp
@@ -26,14 +26,14 @@ ColorMapCanvas::ColorMapCanvas(QWidget* parent)
     , m_statusLabel(new PlotStatusLabel(m_colorMap, this))
 {
     QObject::installEventFilter(m_canvasEvent);
-    auto* layout = new QVBoxLayout;
+
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     layout->addWidget(m_colorMap);
     layout->addWidget(m_statusLabel);
 
-    setLayout(layout);
-
     setStatusLabelEnabled(false);
 }
 
diff --git a/GUI/View/Plot2D/IntensityDataCanvas.cpp b/GUI/View/Plot2D/IntensityDataCanvas.cpp
index 59793d06de9e1e9129e9e205da99a5f4b67fd0c5..1c306f84ec8adb712757e6ab76d5a538eff5db43 100644
--- a/GUI/View/Plot2D/IntensityDataCanvas.cpp
+++ b/GUI/View/Plot2D/IntensityDataCanvas.cpp
@@ -44,10 +44,10 @@ IntensityDataCanvas::IntensityDataCanvas(QWidget* parent)
 {
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     layout->addWidget(m_colorMapCanvas);
-    setLayout(layout);
 
     m_colorMapCanvas->setStatusLabelEnabled(true);
 
diff --git a/GUI/View/Plot2D/IntensityDataWidget.cpp b/GUI/View/Plot2D/IntensityDataWidget.cpp
index aea570a7d6956bfb5d25d61dc6bd6f1bd502f230..33f3d057a32ca64c5378eafaefd72d906d8528f3 100644
--- a/GUI/View/Plot2D/IntensityDataWidget.cpp
+++ b/GUI/View/Plot2D/IntensityDataWidget.cpp
@@ -32,6 +32,7 @@ IntensityDataWidget::IntensityDataWidget(QWidget* parent)
     m_propertyWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
 
     auto* hlayout = new QHBoxLayout(this);
+    hlayout->setContentsMargins(0, 0, 0, 0);
     hlayout->setSpacing(0);
     hlayout->addWidget(m_intensityCanvas);
     hlayout->addWidget(m_propertyWidget);
diff --git a/GUI/View/PlotComparison/FitFlowWidget.cpp b/GUI/View/PlotComparison/FitFlowWidget.cpp
index b6f35b3418b3ca906a256e9d93ef3f24a7f4d574..a57be0106c1f8606a457341b1ba51ef2a67b9bcd 100644
--- a/GUI/View/PlotComparison/FitFlowWidget.cpp
+++ b/GUI/View/PlotComparison/FitFlowWidget.cpp
@@ -25,11 +25,11 @@ FitFlowWidget::FitFlowWidget(QWidget* parent)
 {
     setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
 
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->addWidget(m_histPlot);
 
     setStyleSheet("background-color:white;");
-    setLayout(layout);
 }
 
 void FitFlowWidget::setJobOrRealItem(QObject* job_item)
diff --git a/GUI/View/PlotComparison/Fitpair1DWidget.cpp b/GUI/View/PlotComparison/Fitpair1DWidget.cpp
index 58e9eaaf56cc00d981cdb186f98a0a49d26ea21c..7be2bb1ae8c91f45aa2b4d22c5eab984b831a3eb 100644
--- a/GUI/View/PlotComparison/Fitpair1DWidget.cpp
+++ b/GUI/View/PlotComparison/Fitpair1DWidget.cpp
@@ -42,9 +42,11 @@ Fitpair1DWidget::Fitpair1DWidget(QWidget* parent)
     m_propertyWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
 
     auto* vlayout = new QVBoxLayout;
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
 
     auto* gridLayout = new QGridLayout;
+    gridLayout->setContentsMargins(0, 0, 0, 0);
     gridLayout->setSpacing(0);
 
     gridLayout->addWidget(m_data_canvas, 0, 0, 1, -1);
@@ -58,11 +60,11 @@ Fitpair1DWidget::Fitpair1DWidget(QWidget* parent)
     m_statusLabel->addPlot(m_data_canvas->specularPlot());
     m_statusLabel->addPlot(m_diff_canvas->specularPlot());
 
-    auto* hlayout = new QHBoxLayout;
+    auto* hlayout = new QHBoxLayout(this);
+    hlayout->setContentsMargins(0, 0, 0, 0);
     hlayout->setSpacing(0);
     hlayout->addLayout(vlayout);
     hlayout->addWidget(m_propertyWidget);
-    setLayout(hlayout);
 
     m_resetViewAction->setText("Center view");
     m_resetViewAction->setIcon(QIcon(":/images/camera-metering-center.svg"));
diff --git a/GUI/View/PlotComparison/Fitpair2DWidget.cpp b/GUI/View/PlotComparison/Fitpair2DWidget.cpp
index 673454f9db9967086d879897a3b855c5aa6f3eb6..5fa3211d300b874b698be7c1e4d19eee60dfa9a8 100644
--- a/GUI/View/PlotComparison/Fitpair2DWidget.cpp
+++ b/GUI/View/PlotComparison/Fitpair2DWidget.cpp
@@ -40,11 +40,13 @@ Fitpair2DWidget::Fitpair2DWidget(QWidget* parent)
     , m_resetViewAction(new QAction(this))
 {
     auto* vlayout = new QVBoxLayout;
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
 
     m_propertyWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
 
     auto* gridLayout = new QGridLayout;
+    gridLayout->setContentsMargins(0, 0, 0, 0);
     gridLayout->setSpacing(0);
 
     gridLayout->addWidget(m_realCanvas, 0, 0);
@@ -60,11 +62,11 @@ Fitpair2DWidget::Fitpair2DWidget(QWidget* parent)
     m_statusLabel->addPlot(m_simuCanvas->colorMap());
     m_statusLabel->addPlot(m_diffCanvas->colorMap());
 
-    auto* hlayout = new QHBoxLayout;
+    auto* hlayout = new QHBoxLayout(this);
+    hlayout->setContentsMargins(0, 0, 0, 0);
     hlayout->setSpacing(0);
     hlayout->addLayout(vlayout);
     hlayout->addWidget(m_propertyWidget);
-    setLayout(hlayout);
 
     m_resetViewAction->setText("Center view");
     m_resetViewAction->setIcon(QIcon(":/images/camera-metering-center.svg"));
diff --git a/GUI/View/PlotComparison/HistogramPlot.cpp b/GUI/View/PlotComparison/HistogramPlot.cpp
index a090c3f3332705739357a33487cf389f8caa41f9..add193879ea9bab29125d100cb0728fed3c2415a 100644
--- a/GUI/View/PlotComparison/HistogramPlot.cpp
+++ b/GUI/View/PlotComparison/HistogramPlot.cpp
@@ -22,6 +22,7 @@ HistogramPlot::HistogramPlot(QWidget* parent)
 
 {
     auto* vlayout = new QVBoxLayout(this);
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
     vlayout->addWidget(m_plot);
     m_plot->setAttribute(Qt::WA_NoMousePropagation, false);
diff --git a/GUI/View/PlotSpecular/SpecularDataCanvas.cpp b/GUI/View/PlotSpecular/SpecularDataCanvas.cpp
index 9676898b78b309a45b2fbeeceaf00f14c3540f15..77a75be7a1ff108a36b19bad4e3e80443fa9dcdd 100644
--- a/GUI/View/PlotSpecular/SpecularDataCanvas.cpp
+++ b/GUI/View/PlotSpecular/SpecularDataCanvas.cpp
@@ -28,6 +28,7 @@ SpecularDataCanvas::SpecularDataCanvas(QWidget* parent)
     , m_save_plot_action(nullptr)
 {
     QVBoxLayout* vlayout = new QVBoxLayout(this);
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
     vlayout->addWidget(m_plot_canvas);
     setLayout(vlayout);
diff --git a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp
index 67e9f82940ef6c5ab98ebe679194527bdf487412..4bebbcfe4c907c9424e8ea838e684e3e4d5b6b7f 100644
--- a/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp
+++ b/GUI/View/PlotSpecular/SpecularDataPropertyWidget.cpp
@@ -60,6 +60,7 @@ void SpecularDataPropertyWidget::createPanelElements()
     // -- x-axis
     auto* xGroup = new StaticGroupBox("X axis", this);
     auto* xFormLayout = new QFormLayout(xGroup->body());
+    xFormLayout->setContentsMargins(0, 0, 0, 0);
     xFormLayout->setSpacing(5);
 
     xFormLayout->addRow("Min:", GUI::Util::createDoubleSpinbox(
@@ -85,6 +86,7 @@ void SpecularDataPropertyWidget::createPanelElements()
     // -- y-axis
     auto* yGroup = new StaticGroupBox("Y axis", this);
     auto* yFormLayout = new QFormLayout(yGroup->body());
+    yFormLayout->setContentsMargins(0, 0, 0, 0);
     yFormLayout->setSpacing(5);
 
     auto* logRangeSpinbox = GUI::Util::createDoubleSpinbox(
diff --git a/GUI/View/PlotSpecular/SpecularDataWidget.cpp b/GUI/View/PlotSpecular/SpecularDataWidget.cpp
index a0ad3cba1a0344f76d99d0a4037a8c7412bf460b..a43413a65600d384a10106c30b80e4380e21bca3 100644
--- a/GUI/View/PlotSpecular/SpecularDataWidget.cpp
+++ b/GUI/View/PlotSpecular/SpecularDataWidget.cpp
@@ -29,6 +29,7 @@ SpecularDataWidget::SpecularDataWidget(QWidget* parent)
     m_propertyWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
 
     auto* hlayout = new QHBoxLayout(this);
+    hlayout->setContentsMargins(0, 0, 0, 0);
     hlayout->setSpacing(0);
     hlayout->addWidget(m_specular_canvas);
     hlayout->addWidget(m_propertyWidget);
diff --git a/GUI/View/PlotSpecular/SpecularPlot.cpp b/GUI/View/PlotSpecular/SpecularPlot.cpp
index 40bfacfc2bed47b54d0936c7b5dd9d3058b4daeb..08d3d2d1578b70d7febeeb99b4f3972dc22f67a9 100644
--- a/GUI/View/PlotSpecular/SpecularPlot.cpp
+++ b/GUI/View/PlotSpecular/SpecularPlot.cpp
@@ -38,6 +38,7 @@ SpecularPlot::SpecularPlot(QWidget* parent)
     , m_update_timer(new UpdateTimer(replot_update_interval, this))
 {
     auto* vlayout = new QVBoxLayout(this);
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
     vlayout->addWidget(m_qcp);
     setLayout(vlayout);
diff --git a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
index f39d5dd75eeb68a3c27a3a53e31670b81868a3c7..2e70bd6d9d1d79470e42183791eb94aab50ba1e2 100644
--- a/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
+++ b/GUI/View/PlotSpecular/SpecularPlotCanvas.cpp
@@ -26,8 +26,8 @@ SpecularPlotCanvas::SpecularPlotCanvas(QWidget* parent)
 {
     this->installEventFilter(m_canvasEvent);
 
-    auto* layout = new QVBoxLayout;
-    setLayout(layout);
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     layout->addWidget(m_plot);
diff --git a/GUI/View/PlotUtil/ColorMap.cpp b/GUI/View/PlotUtil/ColorMap.cpp
index 601af32dafaf2ffe32d3a6ebc445a4f1360fcd6e..d937de479ead1c3acd0994280cf178eb42408cfe 100644
--- a/GUI/View/PlotUtil/ColorMap.cpp
+++ b/GUI/View/PlotUtil/ColorMap.cpp
@@ -70,7 +70,6 @@ ColorMap::ColorMap(QWidget* parent)
     vlayout->setContentsMargins(0, 0, 0, 0); // essential for matching idealized and pixelized maps
     vlayout->setSpacing(0);
     vlayout->addWidget(m_qcp);
-    setLayout(vlayout);
 
     setMouseTrackingEnabled(true);
     //    setFixedColorMapMargins();
diff --git a/GUI/View/Project/ProjectLoadProblemDialog.cpp b/GUI/View/Project/ProjectLoadProblemDialog.cpp
index 23eee8c23e71b98a2a1098ca08114ae49a89c5ef..d0aff3c91bb22d1595aa18c885a70d771bf331c5 100644
--- a/GUI/View/Project/ProjectLoadProblemDialog.cpp
+++ b/GUI/View/Project/ProjectLoadProblemDialog.cpp
@@ -49,6 +49,7 @@ ProjectLoadProblemDialog::ProjectLoadProblemDialog(QWidget* parent, const QStrin
 
     // -- warning icon + info
     auto* topPanelLayout = new QHBoxLayout;
+    topPanelLayout->setContentsMargins(0, 0, 0, 0);
     auto* messageLabel = new QLabel("Some parts of the project were not loaded correctly.");
     messageLabel->setFont(titleFont);
     messageLabel->setWordWrap(true);
@@ -108,6 +109,7 @@ QLayout* ProjectLoadProblemDialog::buttonLayout()
     connect(button, &QPushButton::clicked, this, &ProjectLoadProblemDialog::close);
 
     auto* result = new QHBoxLayout;
+    result->setContentsMargins(0, 0, 0, 0);
     result->addStretch(3);
     result->addWidget(button);
 
diff --git a/GUI/View/Project/PythonScriptWidget.cpp b/GUI/View/Project/PythonScriptWidget.cpp
index 9b158b4705ba3af93b3e05284e2353a25b8941c4..7d99636d8efbfc307e1e69f9a8b326583b2bde29 100644
--- a/GUI/View/Project/PythonScriptWidget.cpp
+++ b/GUI/View/Project/PythonScriptWidget.cpp
@@ -62,12 +62,11 @@ PythonScriptWidget::PythonScriptWidget(QWidget* parent)
     auto* highlighter = new PythonSyntaxHighlighter(m_textEdit->document());
     Q_UNUSED(highlighter);
 
-    auto* mainLayout = new QVBoxLayout;
+    auto* mainLayout = new QVBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->addWidget(toolbar);
     mainLayout->addWidget(m_textEdit);
 
-    setLayout(mainLayout);
-
     setAttribute(Qt::WA_DeleteOnClose, true);
     GUI::Style::setResizable(this);
     appSettings->loadWindowSizeAndPos(this);
diff --git a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
index a2479d52a10ef649180652a2f01bf882448d1541..11568d50e32f29eed310e358bbe657ac1b5e2882 100644
--- a/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
+++ b/GUI/View/Projection/IntensityDataProjectionsWidget.cpp
@@ -38,6 +38,7 @@ IntensityDataProjectionsWidget::IntensityDataProjectionsWidget(QWidget* parent)
     splitter->addWidget(m_projectionsWidget);
 
     auto* mainLayout = new QHBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
     mainLayout->addWidget(splitter);
     mainLayout->addWidget(m_propertyPanel);
diff --git a/GUI/View/Projection/ProjectionsEditorCanvas.cpp b/GUI/View/Projection/ProjectionsEditorCanvas.cpp
index 91775d711382246264aa614791f68f5b790ceaaa..fbaf83525ccebe2679c585a4907f19f633a4f062 100644
--- a/GUI/View/Projection/ProjectionsEditorCanvas.cpp
+++ b/GUI/View/Projection/ProjectionsEditorCanvas.cpp
@@ -36,11 +36,11 @@ ProjectionsEditorCanvas::ProjectionsEditorCanvas(QWidget* parent)
     setObjectName("MaskEditorCanvas");
     setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
-    auto* mainLayout = new QVBoxLayout;
+    auto* mainLayout = new QVBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->addWidget(m_view);
     mainLayout->addWidget(m_statusLabel);
     mainLayout->setSpacing(0);
-    setLayout(mainLayout);
 
     connect(m_view, &MaskGraphicsView::changeActivityRequest, this,
             &ProjectionsEditorCanvas::changeActivityRequest);
diff --git a/GUI/View/Projection/ProjectionsPlot.cpp b/GUI/View/Projection/ProjectionsPlot.cpp
index 3c52793dc6cac09e7e1b77736d8c6066ce1e65d4..ea01e4b6cc8664bcb9a8725ef92bb57ae3834f54 100644
--- a/GUI/View/Projection/ProjectionsPlot.cpp
+++ b/GUI/View/Projection/ProjectionsPlot.cpp
@@ -33,10 +33,10 @@ ProjectionsPlot::ProjectionsPlot(Qt::Orientation orientation, QWidget* parent)
     , m_plot(new QCustomPlot)
 {
     auto* vlayout = new QVBoxLayout(this);
+    vlayout->setContentsMargins(0, 0, 0, 0);
     vlayout->setSpacing(0);
     vlayout->addWidget(m_plot);
     m_plot->setAttribute(Qt::WA_NoMousePropagation, false);
-    setLayout(vlayout);
 
     m_plot->xAxis->setTickLabelFont(QFont(QFont().family(), GUI::Style::fontSizeSmall()));
     m_plot->yAxis->setTickLabelFont(QFont(QFont().family(), GUI::Style::fontSizeSmall()));
diff --git a/GUI/View/Projection/ProjectionsWidget.cpp b/GUI/View/Projection/ProjectionsWidget.cpp
index 6616126475746b3336d36b18daf0144c2661a142..6dea883a7dd4199f2c420b18799fc23d02f4e25d 100644
--- a/GUI/View/Projection/ProjectionsWidget.cpp
+++ b/GUI/View/Projection/ProjectionsWidget.cpp
@@ -32,7 +32,8 @@ ProjectionsWidget::ProjectionsWidget(QWidget* parent)
     , m_yProjection(new ProjectionsPlot(Qt::Vertical))
     , m_tabWidget(new QTabWidget)
 {
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     m_tabWidget->setTabPosition(QTabWidget::North);
@@ -40,7 +41,6 @@ ProjectionsWidget::ProjectionsWidget(QWidget* parent)
     m_tabWidget->insertTab(Qt::Vertical, m_yProjection, "Vertical");
 
     layout->addWidget(m_tabWidget);
-    setLayout(layout);
 
     setConnected(true);
 }
diff --git a/GUI/View/PropertyEditor/CustomEditors.cpp b/GUI/View/PropertyEditor/CustomEditors.cpp
index f5ad04e5b372bcd06ed47029b0ab35755d4eba9b..823fd7101843f8482abc22214947d7833b382219 100644
--- a/GUI/View/PropertyEditor/CustomEditors.cpp
+++ b/GUI/View/PropertyEditor/CustomEditors.cpp
@@ -69,11 +69,11 @@ ComboPropertyEditor::ComboPropertyEditor(QWidget* parent)
     setAutoFillBackground(true);
     setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
 
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     layout->addWidget(m_box);
 
-    setLayout(layout);
     setConnected(true);
 }
 
@@ -151,15 +151,13 @@ ScientificSpinBoxEditor::ScientificSpinBoxEditor(QWidget* parent)
     m_doubleEditor->setFocusPolicy(Qt::StrongFocus);
     m_doubleEditor->setKeyboardTracking(false);
 
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
-
     layout->addWidget(m_doubleEditor);
 
     connect(m_doubleEditor, &ScientificSpinBox::valueChanged, [this] { onEditingFinished(); });
 
-    setLayout(layout);
-
     setFocusProxy(m_doubleEditor);
 }
 
diff --git a/GUI/View/SampleDesigner/CompoundForm.cpp b/GUI/View/SampleDesigner/CompoundForm.cpp
index 3c772cce48febfc5400ec150f2cae931d069f85a..efa9a6865064c23900cabf57aa0378707849fb47 100644
--- a/GUI/View/SampleDesigner/CompoundForm.cpp
+++ b/GUI/View/SampleDesigner/CompoundForm.cpp
@@ -28,6 +28,7 @@ CompoundForm::CompoundForm(QWidget* parent, CompoundItem* compoundItem, SampleEd
 {
     m_layout = new HeinzFormLayout(ec);
     body()->setLayout(m_layout);
+    m_layout->setContentsMargins(30, 6, 0, 0);
     m_layout->addVector(compoundItem->position(), false);
     m_layout->addSelection(compoundItem->rotationSelection());
     m_layout->addValue(compoundItem->abundance());
diff --git a/GUI/View/SampleDesigner/HeinzFormLayout.cpp b/GUI/View/SampleDesigner/HeinzFormLayout.cpp
index f5f99dff39b15effee58cd40496574b4978c7877..8be9ca94d64b7df830446c9534fa7b9bcb0b5ffb 100644
--- a/GUI/View/SampleDesigner/HeinzFormLayout.cpp
+++ b/GUI/View/SampleDesigner/HeinzFormLayout.cpp
@@ -69,6 +69,7 @@ void HeinzFormLayout::addGroupOfValues(const QString& labelText, const DoublePro
     w->setStyleSheet("#PropertyBaseWidget {background-color: transparent}");
 
     auto* gridLayout = new QGridLayout(w);
+    gridLayout->setContentsMargins(0, 0, 0, 0);
     gridLayout->setSpacing(6);
 
     LayerEditorUtil::addMultiPropertyToGrid(gridLayout, 0, values, m_ec, true);
@@ -84,6 +85,7 @@ void HeinzFormLayout::addVector(VectorProperty& d, bool vertically /*= true*/)
     w->setStyleSheet("#PropertyBaseWidget {background-color: transparent}");
 
     auto* gridLayout = new QGridLayout(w);
+    gridLayout->setContentsMargins(0, 0, 0, 0);
     gridLayout->setSpacing(6);
 
     LayerEditorUtil::addMultiPropertyToGrid(gridLayout, 0, {&d.x(), &d.y(), &d.z()}, m_ec,
@@ -101,6 +103,7 @@ void HeinzFormLayout::addStructureEditingRow(QPushButton* button)
 {
     auto* w = new QWidget(QFormLayout::parentWidget());
     auto* l = new QHBoxLayout(w);
+    l->setContentsMargins(0, 0, 0, 0);
     l->setAlignment(Qt::AlignLeft);
     l->setSizeConstraint(QLayout::SetMinimumSize);
     l->addWidget(button);
diff --git a/GUI/View/SampleDesigner/LayerForm.cpp b/GUI/View/SampleDesigner/LayerForm.cpp
index 310f0357b08f2e0b3a1589bca4aecbb6766ddc15..2ccdd1c5068b914536c0e08c4fdbf2ca87a64330 100644
--- a/GUI/View/SampleDesigner/LayerForm.cpp
+++ b/GUI/View/SampleDesigner/LayerForm.cpp
@@ -34,6 +34,7 @@ LayerForm::LayerForm(QWidget* parent, LayerItem* layerItem, SampleEditorControll
     , m_layer(layerItem)
     , m_ec(ec)
 {
+    setContentsMargins(5, 5, 5, 5);
     m_layout = new HeinzFormLayout(ec);
     body()->setLayout(m_layout);
 
diff --git a/GUI/View/SampleDesigner/MaterialInplaceForm.cpp b/GUI/View/SampleDesigner/MaterialInplaceForm.cpp
index ded7d814cd3fda1201baaa034730182946ec9543..58173a43ca8ab9f4fc23851aafc6fd2d8052d47f 100644
--- a/GUI/View/SampleDesigner/MaterialInplaceForm.cpp
+++ b/GUI/View/SampleDesigner/MaterialInplaceForm.cpp
@@ -39,6 +39,7 @@ MaterialInplaceForm::MaterialInplaceForm(QWidget* parent, ItemWithMaterial* item
     , m_ec(ec)
 {
     m_layout = new QGridLayout(this);
+    m_layout->setContentsMargins(0, 0, 0, 0);
     createWidgets();
 
     connect(itemWithMaterial()->materialItem(), &MaterialItem::dataChanged, this,
diff --git a/GUI/View/SampleDesigner/MesocrystalForm.cpp b/GUI/View/SampleDesigner/MesocrystalForm.cpp
index 543a20c84832cdd6128f5361668fbebbe916c8db..891b2402c5c7649f50e52f4e8aa2ff6e98d4da3a 100644
--- a/GUI/View/SampleDesigner/MesocrystalForm.cpp
+++ b/GUI/View/SampleDesigner/MesocrystalForm.cpp
@@ -29,6 +29,7 @@ MesocrystalForm::MesocrystalForm(QWidget* parent, MesocrystalItem* mesocrystalIt
 {
     m_layout = new HeinzFormLayout(ec);
     body()->setLayout(m_layout);
+    m_layout->setContentsMargins(30, 6, 0, 0);
     m_layout->addVector(mesocrystalItem->position(), false);
     m_layout->addSelection(mesocrystalItem->rotationSelection());
     m_layout->addValue(mesocrystalItem->abundance());
diff --git a/GUI/View/SampleDesigner/SampleForm.cpp b/GUI/View/SampleDesigner/SampleForm.cpp
index c7df228875ac166a6a64357d5ba919c5ab71a21a..6e6b6296b60db3c415ac6256c29f5288e2546fb6 100644
--- a/GUI/View/SampleDesigner/SampleForm.cpp
+++ b/GUI/View/SampleDesigner/SampleForm.cpp
@@ -43,6 +43,7 @@ public:
         , m_layer(layer)
     {
         auto* l = new QHBoxLayout(this);
+        l->setContentsMargins(0, 0, 0, 0);
         auto* btn = new QPushButton("Add layer", this);
         l->addStretch();
         l->addWidget(btn);
diff --git a/GUI/View/SampleDesigner/SampleView.cpp b/GUI/View/SampleDesigner/SampleView.cpp
index 29c97e8f002b04ed37b068ad094e9376644142fd..a6f0298520e6831ebfe2a7be8dfd3ff545f2a960 100644
--- a/GUI/View/SampleDesigner/SampleView.cpp
+++ b/GUI/View/SampleDesigner/SampleView.cpp
@@ -42,6 +42,7 @@ SampleView::SampleView(QWidget* parent, ProjectDocument* document)
     , m_document(document)
 {
     auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
 
     // Top toolbar with action buttons "new", "import", "example"
     auto* toolbar = new StyledToolbar;
diff --git a/GUI/View/SampleDesigner/ScriptPanel.cpp b/GUI/View/SampleDesigner/ScriptPanel.cpp
index 1472041fa126bee5043e2072bcb313d82299c956..f539ffbb2c1e34d4bed3149a7a854f161002ae68 100644
--- a/GUI/View/SampleDesigner/ScriptPanel.cpp
+++ b/GUI/View/SampleDesigner/ScriptPanel.cpp
@@ -46,6 +46,7 @@ ScriptPanel::ScriptPanel(QWidget* parent)
     m_textEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
     auto* mainLayout = new QVBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->addWidget(m_textEdit);
 
     m_textEdit->setReadOnly(true);
diff --git a/GUI/View/SampleDesigner/SelectionContainerForm.h b/GUI/View/SampleDesigner/SelectionContainerForm.h
index d99fa53b0c16577891fe5dfdf496b8adc4cf872a..2ba9503c09666552fd15040055e72caba140cbfd 100644
--- a/GUI/View/SampleDesigner/SelectionContainerForm.h
+++ b/GUI/View/SampleDesigner/SelectionContainerForm.h
@@ -38,6 +38,7 @@ protected:
     void initUI(SelectionProperty<T>& d)
     {
         m_gridLayout = new QGridLayout(this);
+        m_gridLayout->setContentsMargins(0, 0, 0, 0);
         m_gridLayout->setSpacing(6);
 
         m_combo = new QComboBox;
diff --git a/GUI/View/SampleView/RealspacePanel.cpp b/GUI/View/SampleView/RealspacePanel.cpp
index f4f51c8dfa6b322fc16aa9b23875e6abf529de88..e4ce677da7f1541930b697af0d4d91e657e69068 100644
--- a/GUI/View/SampleView/RealspacePanel.cpp
+++ b/GUI/View/SampleView/RealspacePanel.cpp
@@ -53,6 +53,7 @@ RealspacePanel::RealspacePanel(QWidget* parent)
     connect(action, &QAction::triggered, [this]() { m_widget->changeLayerSize(0.8); });
 
     auto* mainLayout = new QVBoxLayout(this);
+    mainLayout->setContentsMargins(0, 0, 0, 0);
     mainLayout->setSpacing(0);
     mainLayout->addWidget(toolbar);
     mainLayout->addWidget(m_widget);
diff --git a/GUI/View/SampleView/RealspaceWidget.cpp b/GUI/View/SampleView/RealspaceWidget.cpp
index 00ba8bde228a09ce08d01e1fdfa90292dc66d7f5..436ac9ed7df0d0959342cb1ba6e2ec2b2ed6f83f 100644
--- a/GUI/View/SampleView/RealspaceWidget.cpp
+++ b/GUI/View/SampleView/RealspaceWidget.cpp
@@ -39,10 +39,10 @@ RealspaceWidget::RealspaceWidget(QWidget* parent)
 {
     m_canvas->layout()->addWidget(m_cautionLabel);
 
-    auto* layout = new QVBoxLayout;
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
     layout->addWidget(m_canvas);
-    setLayout(layout);
 }
 
 RealspaceWidget::~RealspaceWidget() = default;
diff --git a/GUI/View/Widget/GroupBoxes.cpp b/GUI/View/Widget/GroupBoxes.cpp
index ba1d3d495811fa2a0a8d2e34d9ae6688ed7bb93b..29ac37165cb272c520eb3f5cd79abaa8faea2b58 100644
--- a/GUI/View/Widget/GroupBoxes.cpp
+++ b/GUI/View/Widget/GroupBoxes.cpp
@@ -27,8 +27,8 @@
 StaticGroupBox::StaticGroupBox(const QString& title, QWidget* parent)
     : QssWidget(parent)
 {
-    auto* layout = new QVBoxLayout;
-    setLayout(layout);
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     auto* label = new QLabel;
@@ -48,8 +48,8 @@ StaticGroupBox::StaticGroupBox(const QString& title, QWidget* parent)
 CollapsibleGroupBox::CollapsibleGroupBox(const QString& title, QWidget* parent, bool& expanded)
     : QssWidget(parent)
 {
-    auto* layout = new QVBoxLayout;
-    setLayout(layout);
+    auto* layout = new QVBoxLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
     layout->setSpacing(0);
 
     //... Header widget
@@ -59,8 +59,8 @@ CollapsibleGroupBox::CollapsibleGroupBox(const QString& title, QWidget* parent,
     m_titleWidget->setObjectName("GroupBoxTitleWidget");
     m_titleWidget->setAttribute(Qt::WA_StyledBackground, true);
 
-    m_titleLayout = new QHBoxLayout;
-    m_titleWidget->setLayout(m_titleLayout);
+    m_titleLayout = new QHBoxLayout(m_titleWidget);
+    m_titleLayout->setContentsMargins(1, 1, 1, 1);
     m_titleLayout->setSpacing(3);
     m_titleLayout->setAlignment(Qt::AlignVCenter);