Exemplo n.º 1
0
    def __createCompass(self, pos):

        palette = Qt.QPalette()
        for colorRole in colorRoleList:
            palette.setColor(colorRole, Qt.QColor())

        palette.setColor(
            Qt.QPalette.Base,
            self.palette().color(self.backgroundRole()).light(120))
        palette.setColor(Qt.QPalette.Foreground,
                         palette.color(Qt.QPalette.Base))

        compass = Qwt.QwtCompass()
        compass.setLineWidth(4)
        if pos < 3:
            compass.setFrameShadow(Qwt.QwtCompass.Sunken)
        else:
            compass.setFrameShadow(Qwt.QwtCompass.Raised)

        if pos == 0:
            compass.setMode(Qwt.QwtCompass.RotateScale)
            rose = Qwt.QwtSimpleCompassRose(16, 2)

            rose.setWidth(0.15)
            compass.setRose(rose)
            compass.setToolTip("Bussola")
        elif pos == 1:
            compass.setLabelMap({
                0.0: "N",
                45.0: "NE",
                90.0: "E",
                180.0: "S",
                270.0: "W"
            })
            rose = Qwt.QwtSimpleCompassRose(4, 1)
            compass.setRose(rose)
            compass.setNeedle(
                Qwt.QwtCompassWindArrow(Qwt.QwtCompassWindArrow.Style2))
            compass.setValue(60.0)
            compass.setToolTip("Bussola_1")
        elif pos == 2:
            palette.setColor(Qt.QPalette.Base, Qt.Qt.darkBlue)
            palette.setColor(Qt.QPalette.Foreground,
                             Qt.QColor(Qt.Qt.darkBlue).dark(120))
            palette.setColor(Qt.QPalette.Text, Qt.Qt.white)
            compass.setScaleTicks(1, 1, 3)
            compass.setScale(36, 5, 0)
            compass.setNeedle(
                Qwt.QwtCompassMagnetNeedle(
                    Qwt.QwtCompassMagnetNeedle.ThinStyle))
            compass.setValue(220.0)
            compass.setToolTip("Bussola2")
        elif pos == 3:
            palette.setColor(Qt.QPalette.Base,
                             self.palette().color(self.backgroundRole()))
            palette.setColor(Qt.QPalette.Foreground, Qt.Qt.blue)
            compass.setLineWidth(0)
            compass.setScaleOptions(Qwt.QwtDial.ScaleBackbone
                                    | Qwt.QwtDial.ScaleTicks
                                    | Qwt.QwtDial.ScaleLabel)
            compass.setScaleTicks(0, 0, 3)
            compass.setLabelMap({
                0.0: '0',
                60.0: '60-',
                120.0: '120',
                180.0: '180',
                240.0: '240',
                320.0: '320'
            })
            compass.setScale(36, 5, 0)
            compass.setNeedle(
                Qwt.QwtDialSimpleNeedle(Qwt.QwtDialSimpleNeedle.Ray, False,
                                        Qt.Qt.white))
            compass.setOrigin(220.0)
            compass.setValue(20.0)
            compass.setToolTip("Bussola_2")
        elif pos == 4:
            compass.setScaleTicks(0, 0, 3)
            #compass.setScaleTicks()

            compass.setLabelMap({0.0: "N", 90.0: "E", 180.0: "S", 270.0: "W"})

            compass.setNeedle(
                Qwt.QwtCompassMagnetNeedle(
                    Qwt.QwtCompassMagnetNeedle.TriangleStyle, Qt.Qt.white,
                    Qt.Qt.red))
            compass.setValue(75.0)
            compass.setToolTip("Bussola_3")
        elif pos == 5:
            palette.setColor(Qt.QPalette.Foreground, Qt.Qt.black)
            compass.setNeedle(
                Qwt.QwtDialSimpleNeedle(Qwt.QwtDialSimpleNeedle.Ray, False,
                                        Qt.Qt.yellow))
            compass.setValue(315.0)
            compass.setToolTip("Bussola_4")

        newPalette = compass.palette()
        for colorRole in colorRoleList:
            if palette.color(colorRole).isValid():
                for colorGroup in colorGroupList:
                    newPalette.setColor(colorGroup, colorRole,
                                        palette.color(colorRole))

        for colorGroup in colorGroupList:
            light = newPalette.color(colorGroup, Qt.QPalette.Base).light(170)
            dark = newPalette.color(colorGroup, Qt.QPalette.Base).dark(170)
            if compass.frameShadow() == Qwt.QwtDial.Raised:
                mid = newPalette.color(colorGroup, Qt.QPalette.Base).dark(110)
            else:
                mid = newPalette.color(colorGroup, Qt.QPalette.Base).light(110)

            newPalette.setColor(colorGroup, Qt.QPalette.Dark, dark)
            newPalette.setColor(colorGroup, Qt.QPalette.Mid, mid)
            newPalette.setColor(colorGroup, Qt.QPalette.Light, light)

        compass.setPalette(newPalette)

        return compass
Exemplo n.º 2
0
    def __init__(self, parent=None):
        Widget.__init__(self)
        QtGui.QWidget.__init__(self, parent)

        self.compass = Qwt.QwtCompass(self)

        palette = self.compass.palette()
        #Cor Interna Bussola
        palette.setColor(self.compass.backgroundRole(), Qt.Qt.darkCyan)
        self.compass.setPalette(palette)

        palette = Qt.QPalette()
        for colorRole in colorRoleList:
            palette.setColor(colorRole, Qt.QColor())
        palette.setColor(
            Qt.QPalette.Base,
            #Alterando uma pouco a cor, mais forte ou mais fraco, depende do valor
            self.compass.palette().color(self.compass.backgroundRole()
                                         ).light(105))
        palette.setColor(
            #Cor de fundo do corculo da agulha
            Qt.QPalette.Foreground,
            palette.color(Qt.QPalette.Base))

        self.compass.setLineWidth(2)
        self.compass.setFrameShadow(Qwt.QwtCompass.Raised)
        self.compass.setScaleTicks(0, 0, 2)

        self.compass.setScaleOptions(Qwt.QwtDial.ScaleTicks
                                     | Qwt.QwtDial.ScaleLabel
                                     | Qwt.QwtDial.ScaleBackbone)
        self.compass.setLabelMap({
            0.0: "N",
            45.0: "ne",
            90.0: "E",
            135.0: "se",
            180.0: "S",
            225.0: "so",
            270.0: "O",
            315.0: "no"
        })
        self.compass.setScale(72, 0, 0)

        self.compass.setNeedle(
            Qwt.QwtCompassMagnetNeedle(
                Qwt.QwtCompassMagnetNeedle.TriangleStyle, Qt.Qt.white,
                Qt.Qt.red))
        self.compass.setValue(35.0)

        newPalette = self.compass.palette()

        ##Criando Cor de fundo para Bussola

        for colorRole in colorRoleList:
            if palette.color(colorRole).isValid():
                for colorGroup in colorGroupList:
                    newPalette.setColor(colorGroup, colorRole,
                                        palette.color(colorRole))

        self.compass.setPalette(newPalette)

        #Posicionamento do Widget
        #layout = Qt.QGridLayout(self)
        #layout.addWidget(self.compass)
        #layout.setColumnStretch(1,1)
        layout = QtGui.QVBoxLayout(self)

        layout.addWidget(self.compass)
Exemplo n.º 3
0
    def setupUi(self, Form):

        compass = Qwt.QwtCompass()

        palette = compass.palette()
        #Cor Interna Bussola
        palette.setColor(compass.backgroundRole(), Qt.Qt.darkCyan)
        compass.setPalette(palette)

        palette = Qt.QPalette()
        for colorRole in colorRoleList:
            palette.setColor(colorRole, Qt.QColor())
        palette.setColor(
            Qt.QPalette.Base,
            #Alterando uma pouco a cor, mais forte ou mais fraco, depende do valor
            compass.palette().color(compass.backgroundRole()).light(105))
        palette.setColor(
            #Cor de fundo do corculo da agulha
            Qt.QPalette.Foreground,
            palette.color(Qt.QPalette.Base))

        #Form.setObjectName(_fromUtf8("Form"))
        #Form.resize(400, 300)
        #compass.setGeometry(QtCore.QRect(100, 40, 200, 200))
        """
        compass.setGeometry(QtCore.QRect(100, 40, 200, 200))
        compass.setLineWidth(4)
        compass.setObjectName(_fromUtf8("Compass"))
        """
        compass.setLineWidth(2)
        compass.setFrameShadow(Qwt.QwtCompass.Raised)
        compass.setScaleTicks(0, 0, 2)

        compass.setScaleOptions(Qwt.QwtDial.ScaleTicks | Qwt.QwtDial.ScaleLabel
                                | Qwt.QwtDial.ScaleBackbone)
        compass.setLabelMap({
            0.0: "N",
            45.0: "ne",
            90.0: "E",
            135.0: "se",
            180.0: "S",
            225.0: "so",
            270.0: "O",
            315.0: "no"
        })
        compass.setScale(72, 0, 0)

        compass.setNeedle(
            Qwt.QwtCompassMagnetNeedle(
                Qwt.QwtCompassMagnetNeedle.TriangleStyle, Qt.Qt.white,
                Qt.Qt.red))
        compass.setValue(35.0)

        newPalette = compass.palette()

        ##Criando Cor de fundo para Bussola

        for colorRole in colorRoleList:
            if palette.color(colorRole).isValid():
                for colorGroup in colorGroupList:
                    newPalette.setColor(colorGroup, colorRole,
                                        palette.color(colorRole))

        compass.setPalette(newPalette)

        return compass
    def __createCompass(self, pos):

        palette = Qt.QPalette()
        for colorRole in colorRoleList:
            palette.setColor(colorRole, Qt.QColor())
        palette.setColor(
            Qt.QPalette.Base,
            #Alterando uma pouco a cor, mais forte ou mais fraco, depende do valor
            self.palette().color(self.backgroundRole()).light(105))
        palette.setColor(
            #Cor de fundo do corculo da agulha
            Qt.QPalette.Foreground,
            palette.color(Qt.QPalette.Base))

        compass = Qwt.QwtCompass()

        #linhaBorda
        compass.setLineWidth(2)

        #compass.setFrameShadow(Qwt.QwtCompass.Sunken)  //Plain
        compass.setFrameShadow(Qwt.QwtCompass.Raised)
        compass.setScaleTicks(0, 0, 2)

        compass.setScaleOptions(Qwt.QwtDial.ScaleTicks | Qwt.QwtDial.ScaleLabel
                                | Qwt.QwtDial.ScaleBackbone)
        compass.setLabelMap({
            0.0: "N",
            45.0: "ne",
            90.0: "E",
            135.0: "se",
            180.0: "S",
            225.0: "so",
            270.0: "O",
            315.0: "no"
        })
        compass.setScale(72, 0, 0)

        # QwtCompassMagnetNeedle =A agulha da bússola ímã para widgets
        compass.setNeedle(
            Qwt.QwtCompassMagnetNeedle(
                Qwt.QwtCompassMagnetNeedle.TriangleStyle, Qt.Qt.white,
                Qt.Qt.red))
        compass.setValue(35.0)
        compass.setToolTip("Bussola_3")

        #Dando cor a Bussola
        newPalette = compass.palette()

        ##Criando Cor de fundo para Bussola

        for colorRole in colorRoleList:
            if palette.color(colorRole).isValid():
                for colorGroup in colorGroupList:
                    newPalette.setColor(colorGroup, colorRole,
                                        palette.color(colorRole))

            #newPalette.setColor(colorGroup, Qt.QPalette.Dark, dark)
            #newPalette.setColor(colorGroup, Qt.QPalette.Mid, mid)
            #newPalette.setColor(colorGroup, Qt.QPalette.Light, light)

        compass.setPalette(newPalette)

        return compass
Exemplo n.º 5
0
    def __createCompass(self, pos):

        palette = Qt.QPalette()
        for colorRole in colorRoleList:
            palette.setColor(colorRole, Qt.QColor())

        palette.setColor(
            Qt.QPalette.Base,
            self.palette().color(self.backgroundRole()).light(120))
        palette.setColor(
            Qt.QPalette.Foreground,
            palette.color(Qt.QPalette.Base))

        compass = Qwt.QwtCompass(self)
        compass.setLineWidth(4)
        if pos < 3:
            compass.setFrameShadow(Qwt.QwtCompass.Sunken)
        else:
            compass.setFrameShadow(Qwt.QwtCompass.Raised)

        if pos == 0:
            compass.setLabelMap({0.0: "N",
                                 90.0: "E",
                                 180.0: "S",
                                 270.0: "W"})
            
            rose = Qwt.QwtSimpleCompassRose(4, 1)
            compass.setRose(rose)
            compass.setNeedle(
                Qwt.QwtCompassWindArrow(Qwt.QwtCompassWindArrow.Style2))
            compass.setValue(60.0)
        elif pos == 1:
            compass.setLabelMap({0.0: "",
                                 90.0: "",
                                 180.0: "",
                                 270.0: ""})
            
            compass.setScaleOptions(Qwt.QwtDial.ScaleBackbone
                        | Qwt.QwtDial.ScaleTicks
                        | Qwt.QwtDial.ScaleLabel)
            compass.setScaleTicks(0, 0, 3)
            
            compass.setNeedle(Qwt.QwtCompassMagnetNeedle(
                Qwt.QwtCompassMagnetNeedle.TriangleStyle,
                Qt.Qt.white,
                Qt.Qt.red))
            compass.setValue(220.0)            
 
        newPalette = compass.palette()
        for colorRole in colorRoleList:
            if palette.color(colorRole).isValid():
                for colorGroup in colorGroupList:
                    newPalette.setColor(
                        colorGroup, colorRole, palette.color(colorRole))

        for colorGroup in colorGroupList:
            light = newPalette.color(
                colorGroup, Qt.QPalette.Base).light(170)
            dark = newPalette.color(
                colorGroup, Qt.QPalette.Base).dark(170)
            if compass.frameShadow() == Qwt.QwtDial.Raised:
                mid = newPalette.color(
                    colorGroup, Qt.QPalette.Base).dark(110)
            else:
                mid = newPalette.color(
                    colorGroup, Qt.QPalette.Base).light(110)

            newPalette.setColor(colorGroup, Qt.QPalette.Dark, dark)
            newPalette.setColor(colorGroup, Qt.QPalette.Mid, mid)
            newPalette.setColor(colorGroup, Qt.QPalette.Light, light)

        compass.setPalette(newPalette)
        compass.setReadOnly(True)
        return compass
Exemplo n.º 6
0
    def setupGui(self):
        self.setFixedSize(1190, 780)
        self.setWindowTitle('Stewart platform control center')

        centralArea = QtGui.QWidget()
        lay0 = QtGui.QHBoxLayout()

        lay1 = QtGui.QVBoxLayout()

        # Layout 11
        lay11 = QtGui.QGridLayout()

        self.pitchCompass = Qwt.QwtCompass()
        self.pitchCompass.setNeedle(
            Qwt.QwtCompassMagnetNeedle(Qwt.QwtCompassMagnetNeedle.ThinStyle))
        self.pitchCompass.setValue(90)

        self.rollCompass = Qwt.QwtCompass()
        self.rollCompass.setNeedle(
            Qwt.QwtCompassMagnetNeedle(Qwt.QwtCompassMagnetNeedle.ThinStyle))
        self.rollCompass.setValue(0)

        self.yawCompass = Qwt.QwtCompass()
        self.yawCompass.setNeedle(
            Qwt.QwtCompassMagnetNeedle(Qwt.QwtCompassMagnetNeedle.ThinStyle))
        self.yawCompass.setValue(0)

        self.figBall = Figure(figsize=(210, 170), dpi=120)
        self.axBall = self.figBall.add_subplot(111)
        fcBall = FigureCanvas(self.figBall)

        lay11.addWidget(self.rollCompass, 0, 0)
        lay11.addWidget(self.yawCompass, 0, 1)
        lay11.addWidget(fcBall, 1, 0)
        lay11.addWidget(self.pitchCompass, 1, 1)

        lay11.setColumnStretch(0, 1)
        lay11.setColumnStretch(1, 1)
        lay11.setRowStretch(0, 1)
        lay11.setRowStretch(1, 1)

        # Layout 12
        lay12 = QtGui.QGridLayout()

        self.ths = {}
        for i in range(6):
            self.ths[i] = QtGui.QSlider()
            self.ths[i].setMinimum(-90)
            self.ths[i].setMaximum(90)
            self.ths[i].setPageStep(1)
            self.ths[i].setTickPosition(QtGui.QSlider.TicksBothSides)
            self.ths[i].setTickInterval(15)
            self.ths[i].setMinimumSize(38, 111)
            self.ths[i].setMaximumSize(38, 111)
            self.ths[i].setEnabled(False)

        lay12.addWidget(self.ths[4], 0, 1)
        lay12.addWidget(self.ths[3], 0, 2)
        lay12.addWidget(self.ths[5], 2, 0)
        lay12.addWidget(self.ths[2], 2, 3)
        lay12.addWidget(self.ths[0], 4, 1)
        lay12.addWidget(self.ths[1], 4, 2)

        self.lcds = {}
        for i in range(6):
            self.lcds[i] = QtGui.QLCDNumber()
            self.lcds[i].setSegmentStyle(QtGui.QLCDNumber.Flat)

        lay12.addWidget(self.lcds[4], 1, 1)
        lay12.addWidget(self.lcds[3], 1, 2)
        lay12.addWidget(self.lcds[5], 3, 0)
        lay12.addWidget(self.lcds[2], 3, 3)
        lay12.addWidget(self.lcds[0], 5, 1)
        lay12.addWidget(self.lcds[1], 5, 2)

        lay1.addLayout(lay11)
        lay1.addLayout(lay12)
        lay1.setStretchFactor(lay11, 1)
        lay1.setStretchFactor(lay12, 1)

        # Layout 2
        lay2 = QtGui.QHBoxLayout()

        # Layout 21
        lay21 = QtGui.QVBoxLayout()

        self.fig3d = Figure(figsize=(210, 170), dpi=120)
        self.axfig3d = self.fig3d.add_subplot(111,
                                              projection='3d',
                                              aspect='equal')
        self.axfig3d.set_axis_off()
        fc3d = FigureCanvas(self.fig3d)

        self.fig2d = Figure(figsize=(210, 170), dpi=120)
        self.axfig2d = self.fig2d.add_subplot(111)
        fc2d = FigureCanvas(self.fig2d)

        groupP = QtGui.QGroupBox('Platform')
        groupN = QtGui.QGroupBox('Nunchuck')

        groupPl = QtGui.QHBoxLayout()
        groupNl = QtGui.QHBoxLayout()

        groupP1 = QtGui.QFormLayout()
        groupP2 = QtGui.QFormLayout()
        groupN1 = QtGui.QFormLayout()
        groupN2 = QtGui.QFormLayout()

        labelP1 = QtGui.QLabel('X')
        labelP2 = QtGui.QLabel('Y')
        labelP3 = QtGui.QLabel('Z')
        labelP4 = QtGui.QLabel('Phi')
        labelP5 = QtGui.QLabel('Theta')
        labelP6 = QtGui.QLabel('Psi')

        labelN1 = QtGui.QLabel('X')
        labelN2 = QtGui.QLabel('Y')
        labelN3 = QtGui.QLabel('Phi')
        labelN4 = QtGui.QLabel('Theta')
        labelN5 = QtGui.QLabel('But C')
        labelN6 = QtGui.QLabel('But Z')

        self.lcdP = {}
        self.lcdN = {}
        for i in range(6):
            self.lcdP[i] = QtGui.QLCDNumber()
            self.lcdN[i] = QtGui.QLCDNumber()
            self.lcdP[i].setSegmentStyle(QtGui.QLCDNumber.Flat)
            self.lcdN[i].setSegmentStyle(QtGui.QLCDNumber.Flat)

        groupP1.addRow(labelP1, self.lcdP[0])
        groupP1.addRow(labelP2, self.lcdP[1])
        groupP1.addRow(labelP3, self.lcdP[2])
        groupP2.addRow(labelP4, self.lcdP[3])
        groupP2.addRow(labelP5, self.lcdP[4])
        groupP2.addRow(labelP6, self.lcdP[5])

        groupN1.addRow(labelN1, self.lcdN[0])
        groupN1.addRow(labelN2, self.lcdN[1])
        groupN1.addRow(labelN5, self.lcdN[4])
        groupN2.addRow(labelN3, self.lcdN[2])
        groupN2.addRow(labelN4, self.lcdN[3])
        groupN2.addRow(labelN6, self.lcdN[5])

        groupPl.addLayout(groupP1)
        groupPl.addLayout(groupP2)
        groupNl.addLayout(groupN1)
        groupNl.addLayout(groupN2)

        groupP.setLayout(groupPl)
        groupN.setLayout(groupNl)

        lay21.addWidget(fc3d)
        lay21.addWidget(fc2d)
        lay21.addWidget(groupP)
        lay21.addWidget(groupN)
        lay21.setStretchFactor(fc3d, 2)
        lay21.setStretchFactor(fc2d, 2)
        lay21.setStretchFactor(groupP, 1)
        lay21.setStretchFactor(groupN, 1)

        # Layout 22
        lay22 = QtGui.QVBoxLayout()
        lay221 = QtGui.QGridLayout()
        self.dsbP = QtGui.QDoubleSpinBox()
        self.dsbI = QtGui.QDoubleSpinBox()
        self.dsbD = QtGui.QDoubleSpinBox()

        self.dsbP.setSingleStep(0.01)
        self.dsbI.setSingleStep(0.01)
        self.dsbD.setSingleStep(0.01)

        self.dsbP.setKeyboardTracking(False)
        self.dsbI.setKeyboardTracking(False)
        self.dsbD.setKeyboardTracking(False)

        lay221.addWidget(self.dsbP, 0, 1)
        lay221.addWidget(self.dsbI, 1, 1)
        lay221.addWidget(self.dsbD, 2, 1)

        self.lcdpid = {}
        for i in range(3):
            self.lcdpid[i] = QtGui.QLCDNumber()
            self.lcdpid[i].setSegmentStyle(QtGui.QLCDNumber.Flat)

        lay221.addWidget(self.lcdpid[0], 0, 2)
        lay221.addWidget(self.lcdpid[1], 1, 2)
        lay221.addWidget(self.lcdpid[2], 2, 2)

        self.tbTargetList = QtGui.QTableView()

        lay22.addLayout(lay221)
        lay22.addWidget(self.tbTargetList)
        lay22.addItem(
            QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                              QtGui.QSizePolicy.Expanding))

        lay2.addLayout(lay21)
        lay2.addLayout(lay22)
        lay2.setStretchFactor(lay21, 1)
        lay2.setStretchFactor(lay22, 1)

        lay3 = QtGui.QVBoxLayout()
        lay31 = QtGui.QVBoxLayout()
        lay32 = QtGui.QGridLayout()
        lay33 = QtGui.QHBoxLayout()
        lay331 = QtGui.QGridLayout()
        lay332 = QtGui.QVBoxLayout()

        self.pbAutoMan = QtGui.QPushButton("Automatic")
        self.pbNunGui = QtGui.QPushButton("Nunchuck")
        self.pbPlatSens = QtGui.QPushButton("Platform")
        self.pbAutoMan.setCheckable(True)
        self.pbNunGui.setCheckable(True)
        self.pbPlatSens.setCheckable(True)

        #pbAutoManIcon = QtGui.QIcon()
        #pbAutoManIcon.addPixmap(QtGui.QPixmap('auto.png'), QtGui.QIcon.Normal, QtGui.QIcon.On)
        #pbAutoManIcon.addPixmap(QtGui.QPixmap('manual.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        #pbAutoMan.setIcon(pbAutoManIcon)

        #pbAutoMan.setIconSize(QSize(pbAutoMan.size()

        for ts in [self.pbAutoMan, self.pbNunGui, self.pbPlatSens]:
            lay31.addWidget(ts)

        self.pbCenter = QtGui.QPushButton("Centre")
        self.pbCircle = QtGui.QPushButton("Circle")
        self.pbSquare = QtGui.QPushButton("Square")
        self.pbTriangle = QtGui.QPushButton("Triangle")

        lay32.addWidget(self.pbCenter, 0, 0)
        lay32.addWidget(self.pbCircle, 0, 1)
        lay32.addWidget(self.pbSquare, 1, 0)
        lay32.addWidget(self.pbTriangle, 1, 1)

        self.sls = {}
        for i in range(6):
            self.sls[i] = QtGui.QSlider()
            self.sls[i].setMinimum(-90)
            self.sls[i].setMaximum(90)
            self.sls[i].setPageStep(1)
            self.sls[i].setTickPosition(QtGui.QSlider.TicksBothSides)
            self.sls[i].setTickInterval(15)
            self.sls[i].setMinimumSize(28, 145)
            self.sls[i].setMaximumSize(28, 145)
            lay331.addWidget(self.sls[i], 0, i)
            lab = QtGui.QLabel(str(i))
            lab.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter)
            lay331.addWidget(lab, 1, i)

        lay331.setRowStretch(6, 1)

        self.pbHome = QtGui.QPushButton("Home")
        self.pbZero = QtGui.QPushButton("0 deg")
        lay332.addWidget(self.pbHome)
        lay332.addWidget(self.pbZero)
        lay332.addItem(
            QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
                              QtGui.QSizePolicy.Expanding))

        lay33.addLayout(lay331)
        lay33.addLayout(lay332)
        lay33.setStretchFactor(lay331, 3)
        lay33.setStretchFactor(lay332, 1)

        self.tedebug = QtGui.QPlainTextEdit()

        lay3.addLayout(lay31)
        lay3.addLayout(lay32)
        lay3.addLayout(lay33)
        lay3.addWidget(self.tedebug)
        lay3.setStretchFactor(lay31, 2)
        lay3.setStretchFactor(lay32, 1)
        lay3.setStretchFactor(lay33, 3)

        lay0.addLayout(lay1)
        lay0.addLayout(lay2)
        lay0.addLayout(lay3)
        lay0.setStretchFactor(lay1, 2)
        lay0.setStretchFactor(lay2, 2)
        lay0.setStretchFactor(lay3, 1)

        centralArea.setLayout(lay0)
        self.setCentralWidget(centralArea)