def paint(self, painter, rect, palette, editMode):
painter.save()
painter.setRenderHint(QPainter.Antialiasing, True)
painter.setPen(Qt.NoPen)
if editMode == StarRating.Editable:
painter.setBrush(palette.highlight())
else:
painter.setBrush(palette.windowText())
yOffset = (rect.height() - self.PaintingScaleFactor) / 2
painter.translate(rect.x(), rect.y() + yOffset)
painter.scale(self.PaintingScaleFactor, self.PaintingScaleFactor)
for i in range(self._maxStarCount):
if i < self._starCount:
painter.drawPolygon(self.starPolygon, Qt.WindingFill)
elif editMode == StarRating.Editable:
painter.drawPolygon(self.diamondPolygon, Qt.WindingFill)
painter.translate(1.0, 0.0)
painter.restore()
评论列表
文章目录