目的
    有些图片是来自网络下载的图片,无法通过qss去动态更新显示成圆角图片,需要代码手工转换下。

    1. void drawRoundedIcon(QLabel* label, QPixmap pixmap) {
    2. // 画成圆形图片
    3. int width = label->width();
    4. int height = label->height();
    5. QSize size(width, height);
    6. QBitmap mask(size);
    7. QPainter painter(&mask);
    8. painter.setRenderHint(QPainter::Antialiasing);
    9. painter.setRenderHint(QPainter::SmoothPixmapTransform);
    10. painter.fillRect(0, 0, size.width(), size.height(), Qt::white);
    11. painter.setBrush(QColor(0, 0, 0));
    12. painter.drawRoundedRect(0, 0, size.width(), size.height(), 4, 4);//修改这个值,可以改弧度,和直径相等就是圆形
    13. QPixmap image = pixmap.scaled(size);
    14. image.setMask(mask);
    15. label->setPixmap(image);
    16. }

    image.png