场景
QLabel
以,在setPixmap()
的方式设置的图片,图片会覆盖圆角。
解决办法:
在图片上绘制透明的蒙板,从而实现圆角的效果。
QPixmap
getPixmapWithBorderRadius(const QPixmap&pixmap, int radius)
{
QPixmap resultPixmap = pixmap;
QBitmap mask(pixmap.size());
QPainter painter(&mask);
painter.setRenderHint(QPainter::Antialiasing, true);
painter.setPen(Qt::NoPen);
painter.setBrush(Qt::color1);
painter.drawRoundedRect(0,0,pixmap.width(),pixmap.height(),radius,radius);
resultPixmap.setMask(mask);
return resultPixmap;
}