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)