def createControlWidgets(): gb = QGroupBox() layout = QGridLayout() layout.addWidget(createSpeedControls(), 0, 0, 1, 1) layout.addWidget(createCalibrationControls(), 0, 1, 1, 1) layout.addWidget(createGuiControls(), 1, 1, 1, 1) layout.addWidget(createNavigationControls(), 0, 2, 2, 1) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(5) upper = QWidget() upper.setLayout(layout) #------------------------------------------ lower = createMonitorControls() #------------------------------------------ vbox = QVBoxLayout() vbox.addWidget(upper) vbox.addWidget(lower) vbox.addStretch(1) vbox.setContentsMargins(0, 0, 0, 0) vbox.setSpacing(0) right = QWidget() right.setLayout(vbox) #------------------------------------------ layout = QHBoxLayout() layout.addStretch(1) layout.addWidget(right) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) gb.setLayout(layout) gb.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum) gb.setMaximumHeight(400) return gb