QT自定义控件之圆形头像的实现
我们经常浏览网页都会看到很多地方使用了圆形的头像,最常见的无外乎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);
}
就这么几行代码就可以实现以下的效果了哦!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
