文章标题 原创 翻译 转载 文章内容 #### 方形图片使用QLabel显示成圆形 ``` #ifndef MASKLABEL_H #define MASKLABEL_H #include <QLabel> class MaskLabel : public QLabel { public: MaskLabel(QWidget *parent=0); protected: void paintEvent(QPaintEvent *); }; #endif // MASKLABEL_H #include "masklabel.h" #include <QPainter> MaskLabel::MaskLabel(QWidget *parent) : QLabel(parent) { } void MaskLabel::paintEvent(QPaintEvent *e) { if(pixmap()){ QPainter painter(this); painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); QPainterPath path; int round = qMin(width(), height()); path.addEllipse(0, 0, round, round); painter.setClipPath(path); painter.drawPixmap(0, 0, width(), height(), *pixmap()); }else{ QLabel::paintEvent(e); } } ``` 文章类别 Python Mobile Android Java Shell Life Database Bug Windows IOS Tools Boost Node.js Mac Product Tips C/C++ Golang Javascript React Qt MQ MongoDB Design Web Linux LLM ChatGPT RAG AI 提交