Beispiel #1
0
 def rebuildDataBrushIfNeeded(self):
     if not self.m_rebuildBrush or not self.m_gradientData:
         return
     self.m_rebuildBrush = False
     p = self.palette()
     dataBrush = QConicalGradient(QPointF(0.5, 0.5), self.m_nullPosition)
     dataBrush.setCoordinateMode(QGradient.StretchToDeviceMode)
     for i in range(0, len(self.m_gradientData)):
         dataBrush.setColorAt(1 - self.m_gradientData[i][0],
                              self.m_gradientData[i][1])
         p.setBrush(QPalette.Highlight, dataBrush)
     self.setPalette(p)
Beispiel #2
0
    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setRenderHint(painter.Antialiasing)

        tamanio = self.geometry().size()

        nuevoRect = QtCore.QRect(math.floor(self.anchoLinea / 2), math.floor(self.anchoLinea / 2), tamanio.width() - self.anchoLinea, tamanio.height() - self.anchoLinea)
        verde = QColor()
        verde.setNamedColor("#00FF00")

        amarillo = QColor()
        amarillo.setNamedColor("#FFFF00")

        rojo = QColor()
        rojo.setNamedColor("#FF0000")

        gradiente = QConicalGradient()
        gradiente.setCoordinateMode(QGradient.ObjectBoundingMode)
        gradiente.setAngle(60)
        gradiente.setColorAt(0, rojo)
        gradiente.setColorAt(0.25, amarillo)
        gradiente.setColorAt(0.50, verde)

        colorSeleccionado = QColor()
        colorSeleccionado.setNamedColor(self.colorDial)

        lapizTrazo = QPen()
        lapizTrazo.setStyle(QtCore.Qt.SolidLine)
        lapizTrazo.setWidth(self.anchoLinea)
        lapizTrazo.setBrush(colorSeleccionado)

        porcentaje = self.valor / float(self.maxValor - self.minValor)
        span = math.floor((self.finishAngle - self.startAngle) * porcentaje)

        painter.setPen(lapizTrazo)
        painter.drawArc(nuevoRect, self.startAngle * 16, span * 16)

        super(BKGauge, self).paintEvent(event)