QLabel上显示图片可以有很多种方法。将一张正方形的图贴到label上,并显示成圆形,如何做到呢?
这里用的QPixmap类
实现一个API:
static QPixmap PixmapToRound(QPixmap &src, int radius)
{
if (src.isNull()) {
return QPixmap();
}
QSize size(2*radius, 2*radius);
QBitmap mask(size);
QPainter painter(&mask);
painter.setRenderHint(QPainter::Antialiasing);
painter.setRenderHint(QPainter::SmoothPixmapTransform);
painter.fillRect(0, 0, size.width(), size.height(), Qt::white)