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