有两个QLabel, 一个显示静态图片, 一个显示动态图片, 相互切换显示 ..

#ifndef TESTCHICKEN_H
#define TESTCHICKEN_H#include <QtWidgets/QDialog>
#include "ui_testChicken.h"
#include <QPoint>class QMovie;
class testChicken : public QDialog
{Q_OBJECTpublic:testChicken(QWidget *parent = 0);~testChicken();private slots:void OnTimerOut();private:virtual void mousePressEvent( QMouseEvent* e);virtual void mouseMoveEvent( QMouseEvent* e);virtual void mouseReleaseEvent( QMouseEvent * e);bool CheckDragRegion(const QPoint &g_pos);private:Ui::testChickenClass ui;QMovie *movie;bool mbDragEnabled;QPoint mRelativePos;
};#endif // TESTCHICKEN_H
#include "testChicken.h"
#include <QMovie>
#include <QTimer>
#include <QMouseEvent>testChicken::testChicken(QWidget *parent): QDialog(parent)
{ui.setupUi(this);mbDragEnabled = false;mRelativePos = QPoint(0,0);setWindowFlags(windowFlags() | Qt::FramelessWindowHint);setAttribute(Qt::WA_TranslucentBackground);QPixmap pixmap("AnZai.png");ui.labImage->setPixmap(pixmap);movie = new QMovie("AnZai.gif");ui.labAnimation->setMovie(movie);ui.labAnimation->hide();QTimer* timer = new QTimer;timer->setInterval(3000);timer->start();connect(timer, SIGNAL(timeout()), this, SLOT(OnTimerOut()));
}testChicken::~testChicken()
{}void testChicken::OnTimerOut()
{if(movie->state() == QMovie::Running) {movie->stop();ui.labAnimation->hide();ui.labImage->show();}else {movie->start();ui.labAnimation->show();ui.labImage->hide();}
}void testChicken::mousePressEvent( QMouseEvent* e )
{if(CheckDragRegion(e->globalPos())) {mbDragEnabled = true;mRelativePos= pos() - e->globalPos();}
}void testChicken::mouseMoveEvent( QMouseEvent* e )
{if(mbDragEnabled) {move(e->globalPos()+ mRelativePos);}
}void testChicken::mouseReleaseEvent( QMouseEvent * e )
{if(mbDragEnabled) {mbDragEnabled = false;}
}bool testChicken::CheckDragRegion( const QPoint &g_pos )
{QPoint pt = g_pos; QRect rcWnd = geometry(); //qDebug() << "pos: " << pt << "geometry: " << rcWnd; pt.setX(pt.x() - rcWnd.left()); pt.setY(pt.y() - rcWnd.top()); int nW = rcWnd.width();int nH = rcWnd.height(); QRect rcDrag(0,  0, nW, nH);if(rcDrag.contains(pt)) {        return true;}return false;
}

详细代码已上传 :  http://download.csdn.net/detail/robertkun/7403735

Qt制作360安仔精灵相关推荐

  1. CSS3 绘制360安仔小精灵[原创]

    Css3图形通常由矩形,圆形,椭圆,三角形,梯形等组合而成. 矩形,为display:block的块级元素设定宽高,便能实现, 圆角矩形,椭圆,圆形,则通过border-radius 属性来得到. 圆 ...

  2. NSIS + QT 制作自定义界面安装包

    NSIS + DUI(DLL形式)制作自定义界面的安装包有很多教程,但是NSIS + QT(DLL形式)实现自定义界面安装包的,翻遍全网,还真没找到有用的资料,无奈只能自己写一个! 先看效果,后续再分 ...

  3. QT制作360悬浮球

    经过几天的努力还是成功的在返校前把基本效果都完成了,可以实现的功能有左键点击拖拽,松开按键后自动贴边,右键点击后出现菜单栏,中键点击后关闭.其中自动贴边使用动画完成. 等代码审核通过会附上代码链接,由 ...

  4. Qt实现360安全卫士主界面(中央窗体)

    中央窗口可以分为左右两部分,左半边由QWidget实现,包含三个QLabel,一个QPushButton,QLabel主要用来显示图片,文本信息,还有一个按钮负责"立即体验". 右 ...

  5. 为Qt应用程序制作maemo安装包

    前段时间开始在Qt上写程序,因为只给我提供了一个N900,也没有人培训,通过自己的摸索,写了一些应用程序,程序可以在N900上做测试,但是我希望我写的应用程序可以被安装到这步N900上运行,开始探究如 ...

  6. 【 Qt Installer Framework安装包制作】

    Qt Installer Framework安装包制作 1. Qt Installer Framework软件安装 1.1 下载安装 1.2 增加环境变量 2. 程序打包发布 3. 制作程序安装包 3 ...

  7. NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/116445811 长期持续带来更多项目与技术分 ...

  8. cmake 版本 arm_在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包

    Greenplum 是一款开源MPP数据分析平台,提供包括数据分析.机器学习和人工智能等特色功能.目前 Greenplum 的二进制发行版本只能运行在 X86 服务器.github上的Greenplu ...

  9. 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)

    原文:使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.con ...

最新文章

  1. 抽象类、抽象方法与代码块
  2. webpack与babel的深奥,渣渣的我只能做个小笔记(持续更新)
  3. 排队论游乐场的游乐项目_外汇游乐场
  4. corosync+openais+pacemaker+web
  5. 计算占比并保证百分比和为1
  6. Vim升华之树形目录插件NERDTree安装图解
  7. 【OpenCV 例程200篇】95. 几何均值滤波器
  8. php 截取某个字符,PHP_php截取指定2个字符之间字符串的方法,本文实例讲述了php截取指定2个 - phpStudy...
  9. VUE自学日志05-计算属性和侦听器
  10. 北京一女子乘公交车遇车祸 惨遭钢筋穿胸
  11. 电商美工手里没有C4D素材模板,不能体现有多厉害
  12. p71_文件传送协议FTP
  13. [笔记]C++代码演示SingletonMap 单类Map实例
  14. TC Games无需安卓模拟器电脑玩绝地求生手游,按键设置详细教程
  15. electron打包失败在下载nsis的地方
  16. vijos 1002
  17. 那些年我们一起追过的稀奇古怪的SQL
  18. Android开发之通过浏览器链接打开任意app页面
  19. 图像处理基础——空间域处理之灰度变换
  20. Qt Windows上实现毛玻璃效果

热门文章

  1. SqlAlchemy使用
  2. Java中String类的运算符过载机制
  3. 宋浩_1_函数映射, 满射/双射/单射/逆映射, 定义域,值域
  4. 行走的offer收割机,这份十万字Java面试总结已经帮助上百人拿到大厂offer,还不快冲?
  5. 18.Redis系列之AOF方式持久化
  6. 多图像拼接---最佳缝合融合
  7. 傻傻分不清楚:裸纤、专线、SDH、MSTP、MSTP+、OTN、PTN、IP-RAN
  8. 某短视频(dy)创作者平台发布视频JS逆向学习(1)
  9. 海关跨境电商平台数据实时获取接口对接走过的坑(海关165,179号公告)
  10. ANSI C 标准函数库