def paintEvent(self, event): '''Paint widget.''' painter = QtGui.QPainter() painter.begin(self) try: painter.setRenderHint(QtGui.QPainter.Antialiasing) area = QtCore.QRect(0, 0, painter.device().width(), painter.device().height()) center = QtCore.QPointF(area.width() / 2.0, area.height() / 2.0) # Draw in a normalised centered box. normalisedEdge = 100.0 normalisedArea = QtCore.QRectF(-(normalisedEdge / 2.0), -(normalisedEdge / 2.0), normalisedEdge, normalisedEdge) shortestSide = min(area.width(), area.height()) painter.translate(center) painter.scale(shortestSide / normalisedEdge, shortestSide / normalisedEdge) # Draw logo. svgRenderer = QtSvg.QSvgRenderer() svgRenderer.load(self._logo) logoMargin = 30.0 logoArea = normalisedArea.adjusted(logoMargin, logoMargin, -logoMargin, -logoMargin) svgRenderer.render(painter, logoArea) # Draw spinner at current spin angle. pen = QtGui.QPen() penWidth = 5.0 pen.setWidth(penWidth) gradient = QtGui.QConicalGradient(QtCore.QPoint(0, 0), -self._spinnerAngle) gradient.setColorAt(0.95, QtCore.Qt.transparent) gradient.setColorAt(0, self._spinnerColor) brush = QtGui.QBrush(gradient) pen.setBrush(brush) painter.setPen(pen) spinnerArea = QtCore.QRectF( normalisedArea.top() + (penWidth / 2.0), normalisedArea.left() + (penWidth / 2.0), normalisedArea.width() - penWidth, normalisedArea.height() - penWidth) painter.drawArc( spinnerArea, 0, # Start angle. 360 * 16 # Span angle. ) finally: painter.end()
def paintEvent(self, event): '''Override paint event to make round thumbnails.''' painter = QtGui.QPainter(self) painter.setRenderHints(QtGui.QPainter.Antialiasing, True) brush = QtGui.QBrush(self.pixmap()) painter.setBrush(brush) painter.setPen(QtGui.QPen(QtGui.QColor(0, 0, 0, 0))) painter.drawEllipse(QtCore.QRectF(0, 0, self.width(), self.height()))
def paintEvent(self, event): '''Paint widget.''' painter = QtGui.QPainter() painter.begin(self) try: painter.setRenderHint(QtGui.QPainter.Antialiasing) area = QtCore.QRect( 0, 0, painter.device().width(), painter.device().height() ) center = QtCore.QPointF( area.width() / 2.0, area.height() / 2.0 ) # Draw in a normalised centered box. normalisedEdge = 100.0 normalisedArea = QtCore.QRectF( -(normalisedEdge / 2.0), -(normalisedEdge / 2.0), normalisedEdge, normalisedEdge ) shortestSide = min(area.width(), area.height()) painter.translate(center) painter.scale( shortestSide / normalisedEdge, shortestSide / normalisedEdge ) # Draw spinner at current spin angle. pen = QtGui.QPen() penWidth = 8.0 pen.setWidth(penWidth) pen.setColor(self._spinnerColor) pen.setCapStyle(QtCore.Qt.RoundCap) gradient = QtGui.QConicalGradient( QtCore.QPoint(0, 0), -self._spinnerAngle ) gradient.setColorAt(0.95, self._spinnerColor) gradient.setColorAt(0, self._spinnerColor) brush = QtGui.QBrush(gradient) pen.setBrush(brush) painter.setPen(pen) spinnerArea = QtCore.QRectF( normalisedArea.top() + (penWidth / 2.0), normalisedArea.left() + (penWidth / 2.0), normalisedArea.width() - penWidth, normalisedArea.height() - penWidth ) painter.drawArc( spinnerArea, -self._spinnerAngle * 16, # Start angle. 250 * 16 # Span angle. ) finally: painter.end()