QT自定义控件之圆形头像的实现

来源:互联网 发布:logitech g502 mac 编辑:程序博客网 时间:2024/05/29 05:01

我们经常浏览网页都会看到很多地方使用了圆形的头像,最常见的无外乎QQ软件中的联系人头像了,还是截个图看一下好了,来来来,上图…………

啦啦啦

有木有看到???

好了,接下来我们来说一下如何实现这个圆形头像,之前笔者搜索网上看到实现思路基本上都是通过图片遮罩来实现的,在这里笔者就不予置评了,其实Qt已经很完善的内置了很多的API,如果你对Qt的2D绘图比较熟悉的话几行代码就可以实现了额!

好了我们上代码:

void paintEvent(QPaintEvent *event){    QPainter painter(this);    painter.setRenderHints(QPainter::Antialiasing,true);    QPixmap pixmap(":/images/avatar.jpg");    QPainterPath path;    path.addEllipse(r.center(),radius,radius);    painter.setClipPath(path);    painter.drawPixmap(QRect(width()/2-radius,height()/2-radius,radius*2,radius*2),pixmap);}

就这么几行代码就可以实现以下的效果了哦!

这里写图片描述