[Qt] Mask 蒙版

Mask能够覆盖在其他的widget上面,实现一些动态图片的加载效果。下面给出代码。

mask.h

#ifndef MASK_HJ
#define MASK_HJ #include <QWidget>
#include <QStyleOption>
#include <QPainter>
#include <QLabel> class CMask : public QWidget
{
Q_OBJECT
public:
CMask(QWidget *parent = 0);
void m_vSetMessage(QString);
void m_vSetPic(QString strPath);
void m_vSetGif(QString strPath); private:
QLabel *m_infoLabel;
void paintEvent(QPaintEvent*);
}; #endif // MASK_HJ

mask.cpp

#include <QMovie>
#include <QHBoxLayout> CMask::CMask(QWidget *parent) :
QWidget(parent)
{
this->setStyleSheet("background-color: rgba(0, 0, 0, 0);"); m_infoLabel =new QLabel(this);
m_infoLabel->setFont(QFont("黑体", 30));
m_infoLabel->setStyleSheet("background-color : rgba(0, 0, 0, 0);"
"color: #776e65;"
"margin: 0 auto");
m_infoLabel->setAlignment(Qt::AlignCenter); QHBoxLayout *mainLayout = new QHBoxLayout();
mainLayout->setContentsMargins(0, 0, 0, 0);
mainLayout->addWidget(m_infoLabel);
this->setLayout(mainLayout); this->hide();
} void CMask::m_vSetMessage(QString s)
{
m_infoLabel->setText(s);
this->show();
} void CMask::m_vSetPic(QString strPath)
{
m_infoLabel->setPixmap(QPixmap(strPath));
this->show();
}
void CMask::m_vSetGif(QString strPath)
{
QMovie *movie = new QMovie(strPath);
m_infoLabel->setMovie(movie);
movie->start();
this->show();
} void CMask::paintEvent(QPaintEvent *){
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}

调用方式

CMask *m_poMask = new CMask(this);
m_poMask->setGeometry(0, 0, 900, 480);
m_poMask->m_vSetGif(":/image/loading.gif");
m_poMask->show();

[Qt] Mask 蒙版的更多相关文章

  1. Unity利用UI的Mask实现对精灵Sprite的遮挡

    例如剔除掉船超出河流的一部分,实现让船只在河流之上显示. 其实是利用UI层的Mask实现遮罩,有些不同的是Mask的图片是用Camera渲染到RenderTexture动态产生的纹理实现的.大概步骤如 ...

  2. 特殊形状图片之遮罩蒙版CSS3-Mask效果

    前不久做了一个项目,需要一个小效果,就是获取用户头像以心形的形状展现在页面上,开始小五想的实现方式是canvas画图或CSS3的clip(剪切),发现都不理想,和设计稿里的图形美观度相差太大,而且实现 ...

  3. 【blade利刃出鞘】一起进入移动端webapp开发吧

    前言 在移动浪潮袭来的时候,小钗有幸进入框架组做webapp框架开发,过程中遇到了移动端的各种坑,也产生了各种激情,就我们公司的发展历程来说 第一阶段:使用传统方式开发移动站点,少量引入HTML5元素 ...

  4. 浅析天猫H5站点

    前言 我们做前端开发的时候,很有可能会做一个竞品分析,比如我就做过去哪儿.艺龙.同程等与携程的移动站点竞品分析,竞品分析的目的一般是技术对比,但是更多的是业务对比,知己知彼,百战不殆:我们同时会借鉴. ...

  5. 【HTML5&CSS3进阶学习01】气泡组件的实现

    前言 气泡组件在实际工作中非常普遍,无论是网页中还是app中,比如: 我们这里所谓气泡组件是指列表型气泡组件,这里就其dom实现,css实现,js实现做一个讨论,最后对一些细节点做一些说明,希望对各位 ...

  6. Golang 绘图技术(image/draw包介绍)

          image/draw 包仅仅定义了一个操作:通过可选的蒙版图(mask image),把一个原始图片绘制到目标图片上,这个操作是出奇的灵活,可以优雅和高效的执行很多常见的图像处理任务. 1 ...

  7. 小程序自定义modal弹窗封装实现

    前言小程序官方提供了 wx.showModal 方法,但样式比较固定,不能满足多元化需求,自定义势在必行~ 老规矩先上图 点击某个按钮,弹出 modal框,里面的内容可以自定义,可以是简单的文字提示, ...

  8. iOS CALayer使用

    CALayer使用 iOS的设备中,我们之所以能看到各种各样的控件.文字.图片,都是Core Animation框架的功劳.它通过图层的合成,最终显示在屏幕上.而今天这篇文章讲的就是Core Anim ...

  9. Lottie在手,动画我有:ios/Android/Web三端复杂帧动画解决方案

      为什么需要Lottie 在相对复杂的移动端应用中,我们可能会需要使用到复杂的帧动画.例如: 刚进入APP时候可能会看到的入场小动画,带来愉悦的视觉享受 许多Icon的互动变化比较复杂多变的时候,研 ...

随机推荐

  1. 向量的叉积 POJ 2318 TOYS & POJ 2398 Toy Storage

    POJ 2318: 题目大意:给定一个盒子的左上角和右下角坐标,然后给n条线,可以将盒子分成n+1个部分,再给m个点,问每个区域内有多少各点 这个题用到关键的一步就是向量的叉积,假设一个点m在 由ab ...

  2. AjaxManager的实现

    在NeralJS思路整理一章中我们提到过实用ajax管理模块控制ajax请求,以减少ajax请求数量,优化加载,以下是ajax模块的实现,我已经确保经历简单. /** * Created by wil ...

  3. sqlyog使用注意事项

    在sqlyog中执行sql语句时,如果sql语句没有加limit 0,1000; sqlyog会自动查询从0开始的1000条,结果导致mysql慢查系统中显示的sql语句末尾加上了limit 0,10 ...

  4. 解决CENTOS7虚拟机更改静态IP无法启动

    在linuxman的编辑中,未出现问题.反复的查看原因未果,后查明是虚拟机所致.1.在开启网络时,有错误提示:Restarting network (via systemctl):  Job for ...

  5. IPTV中的EPG前端优化

    先看一下IPTV相关情况: l 目前TPTV市场情况 a) 截止今年2月,全国IPTV总用户数达3630.2万,我国移动互联网用户规模接近9亿,人均月接入量近300M,8M宽带达半数,光纤近4成. 图 ...

  6. 用POP动画引擎实现衰减动画(POPDecayAnimation)

    效果图: #import "ViewController.h" #import <POP.h> @interface ViewController () @end @i ...

  7. ubuntu 下源码安装Postgreql pgAdmin3

    一.安装 PostgreSQL 1.安装相关依赖,在终端下执行: sudo apt-get install zlib1g-dev    sudo apt-get install libreadline ...

  8. 获取元素位置信息:getBoundingClientRect

    一个神奇的方法. 一.历史 偷个懒,上个传送门:http://www.cnblogs.com/2050/archive/2012/02/01/2335211.html 二.介绍 DOM元素方法,返回一 ...

  9. HTTPS 服务器搭建

    利用NGINX搭建HTTPS服务器不是一件困难的事情,过程包括以下几步 第一步:利用OpenSSL制作证书 第二步:安装NGINX,configure中保证加入ngx_http_ssl_module. ...

  10. python爬虫程序

    http://blog.csdn.net/pleasecallmewhy/article/details/8922826 此人的博客关于python爬虫程序分析得很好!