首先label要显示圆角它自己要设置成圆角用setStyleSheet(“border-radius: 15px;”)这个,然后再把图片裁成圆角,用changeImage这个方法。这里
img_in是一个Pixmap。
self.label.setStyleSheet("border-radius: 15px;")
def changeImage(self, img_in, radius):
size = QSize(img_in.size())
mask = QBitmap(size)
painter = QPainter(mask)
painter.setRenderHint(QPainter.Antialiasing)
painter.setRenderHint(QPainter.SmoothPixmapTransform)
painter.fillRect(mask.rect(), Qt.white)
painter.setBrush(QColor(0, 0, 0))
painter.drawRoundedRect(mask.rect(), radius, radius)
painter.end()
image = img_in
image.setMask(mask)
return image