#include <QtWidgets/QWidget>
#include <QPainter>
class CircularpictureWidget : public QWidget
{
Q_OBJECT
public:
CircularpictureWidget(uint _radius ,QWidget* parent = NULL)
: QWidget(parent)
,m_radius(_radius)
{
this->setFixedSize(QSize(m_radius, m_radius));
this->setAttribute(Qt::WA_TranslucentBackground);
QRect headRect = QRect(0, 0, m_radius, m_radius);
m_headPath.addEllipse(headRect);
}
void paintEvent(QPaintEvent* event)
{
QPainter painter(this);
painter.setRenderHints(QPainter::Antialiasing);
// 绘制圆形头像;
painter.setClipPath(m_headPath);
painter.drawPixmap(m_headPath.controlPointRect().toRect(), QPixmap(":/testQQlogin/QQHead.jpg"));
painter.strokePath(m_headPath, QPen(Qt::white, 5));
return QWidget::paintEvent(event);
}
private:
QPainterPath m_headPath;
uint m_radius= 0;
};