废话不多说!直接上代码。

我们在很多UI设计应用中,需要用到自定义形状头像,在这里,我对圆形头像的设计做简单的阐述,其它形状头像可参考本文做相应的更改即可。如下图所示为设计的圆形头像:

上代码:

SetMask::SetMask(QWidget *parent)
: QWidget(parent)
{
      ui.setupUi(this);
      QPixmap pixmapBack = ":/SetMask/Resources/mask.png";
      ui.head->setMask(pixmapBack.mask());
      ui.headborder->setStyleSheet("border-image:url(:/SetMask/Resources/mask.png)");
      QPixmap head = QPixmap(":/SetMask/Resources/head.jpg").scaled(QSize(ui.head->width(), ui.head->height()),         Qt::KeepAspectRatio, Qt::SmoothTransformation);
      ui.head->setPixmap(head);
}

在这里如果你对setMask有相关疑惑的地方,可参考QT帮助文档,在这里不做太多介绍。

工程文件我已上传,需要的可以免费自行下载:QT之圆形头像工程文件下载

http://blog.csdn.net/ly305750665/article/details/53494574

QT之圆形头像(使用PNG的Mask达到的效果)的更多相关文章

  1. cocos2dx-lua 裁剪ClippingNode,圆形头像,其他形状图片

    注意事项:裁剪内容要用Sprite,不能换成ImageView 注意事项: 1.后面测试发现,ImageView也能用,注意换成ImageView时,前缀是ccui. 2.要做圆形头像,用一张圆形图做 ...

  2. Android 圆形头像 自己动手

    圆形头像DIY 现在大部分app使用的都是圆形头像,网上开源的也很多,但是有没有考虑过DIY圆形头像呢?下面就自己实现一个,先看下demo展示 第一步:原理解释(图片很丑,原理很真) 1.画外框圆形, ...

  3. css3圆形头像(当图片宽高不相等时)

    1.图片宽高相等,width:300px: height:300px; 把他变成宽高100px的圆形头像 img{width:100px; height:100px; border-radius:50 ...

  4. Android之圆形头像裁切

    PS:今天项目测试组发现,百度地图定位的数据坐标位置是正确的,但是显示的数据是错误的.最后查来查去发现,那个商厦在百度地图上根本就没有那条数据,这让我如何显示,当初就推崇使用高德地图定位,上面的数据量 ...

  5. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  6. NGUI 圆形头像遮罩

    NGUI 圆形头像遮罩 列表,求助 http://tieba.baidu.com/p/3961444508

  7. Android ImageView圆形头像

    转载自:http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用 ...

  8. 自定义控件--CircleImageView(类似于QQ、微信圆形头像自定义控件)

    现在基本上所有的需要用户注册的APP都有一个需要用户上传头像的需求,上传的头像基本都是类似于QQ.微信等社交应用圆形头像.最近,正在做的一个社交应用多处需要用到这种圆形头像的处理,总不能每次都对图片做 ...

  9. Duilib实现圆形头像控件

    .h文件 #ifndef __UIHEADICON_H__ #define __UIHEADICON_H__ /* 名称:圆形头像控件(派生CButtonUI类) */ class CHeadUI: ...

随机推荐

  1. Android 调用系统邮件,发送邮件到指定邮箱

    在项目中,最后有一个联络我们,要求是点击号码还有邮箱地址能够发送邮件,这时候解决的方案其实有两种,一种是调用系统发邮件的软件,可以添加邮箱账号就可以发送邮件:第二种是使用javamail来发送邮件.在 ...

  2. QT5.5

    QT创建空项目时,会有报错“无法解析的外部符号”,方法是在 .pro文件中添加 以下,即可QT+=core gui widgets

  3. 【BZOJ 3998】弦论

    [链接]h在这里写链接 [题意]     给你一个长度为n的子串;     让你求出第k小的子串是什么;     输出答案的类型分两种;     第一种,重复的算两次,第二种,重复的算一次.     ...

  4. IOS计算两点之间的距离

    //广州经纬度 CLLocationCoordinate2D guangZhouLocation; guangZhouLocation.latitude = 23.20; guangZhouLocat ...

  5. watchdog的正确使用方法

    关于watchdog应该有过单片机学习经历的人.都比較熟悉.但watchdog的正确使用方法,恐怕大家假设没有经历过实际产品的开发不会有深入的理解. 瑞萨RL78系列的单片机自身带有watchdog, ...

  6. CSS布局开篇

    原文: 简书原文:https://www.jianshu.com/p/2c78b927f8c4 开篇 这是我写CSS布局的第一篇文章,之所以将布局从中摘出来单独放一部分是因为我觉得光是布局这块内容就有 ...

  7. 关于stm32的串口电压问题

    在同一块板子的另一个 2号串口,因为没有使用所以就没有配置,,,所以导致这三个引脚都为0; 上面的串口接口封装是围墙座: 注意:倘若要连线,那时候要记得交叉,当然这也要看各自的设计才行

  8. js获取浏览器和元素对象的尺寸

    1.屏幕尺寸 window.screen.height //屏幕分辨率的高 window.screen.width //屏幕分辨率的宽 window.screen.availHeight //屏幕可用 ...

  9. 数据类型总结——Boolean类型(布尔类型)

    相关文章 简书原文:https://www.jianshu.com/p/e5c75d4be636 数据类型总结——概述:https://www.cnblogs.com/shcrk/p/9266015. ...

  10. 【15.07%】【codeforces 625A】Guest From the Past

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...