QT之圆形头像(使用PNG的Mask达到的效果)

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

       我们在很多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

posted @ 2017-12-13 23:27  findumars  Views(2689)  Comments(0Edit  收藏  举报