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
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)
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
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
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)