Qt制作360安仔精灵
有两个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安仔精灵相关推荐
- CSS3 绘制360安仔小精灵[原创]
Css3图形通常由矩形,圆形,椭圆,三角形,梯形等组合而成. 矩形,为display:block的块级元素设定宽高,便能实现, 圆角矩形,椭圆,圆形,则通过border-radius 属性来得到. 圆 ...
- NSIS + QT 制作自定义界面安装包
NSIS + DUI(DLL形式)制作自定义界面的安装包有很多教程,但是NSIS + QT(DLL形式)实现自定义界面安装包的,翻遍全网,还真没找到有用的资料,无奈只能自己写一个! 先看效果,后续再分 ...
- QT制作360悬浮球
经过几天的努力还是成功的在返校前把基本效果都完成了,可以实现的功能有左键点击拖拽,松开按键后自动贴边,右键点击后出现菜单栏,中键点击后关闭.其中自动贴边使用动画完成. 等代码审核通过会附上代码链接,由 ...
- Qt实现360安全卫士主界面(中央窗体)
中央窗口可以分为左右两部分,左半边由QWidget实现,包含三个QLabel,一个QPushButton,QLabel主要用来显示图片,文本信息,还有一个按钮负责"立即体验". 右 ...
- 为Qt应用程序制作maemo安装包
前段时间开始在Qt上写程序,因为只给我提供了一个N900,也没有人培训,通过自己的摸索,写了一些应用程序,程序可以在N900上做测试,但是我希望我写的应用程序可以被安装到这步N900上运行,开始探究如 ...
- 【 Qt Installer Framework安装包制作】
Qt Installer Framework安装包制作 1. Qt Installer Framework软件安装 1.1 下载安装 1.2 增加环境变量 2. 程序打包发布 3. 制作程序安装包 3 ...
- NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/116445811 长期持续带来更多项目与技术分 ...
- cmake 版本 arm_在 ARM 架构服务器上编译 Greenplum6并制作rpm安装包
Greenplum 是一款开源MPP数据分析平台,提供包括数据分析.机器学习和人工智能等特色功能.目前 Greenplum 的二进制发行版本只能运行在 X86 服务器.github上的Greenplu ...
- 使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
原文:使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇使用Advanced Installer制作IIS安装包(一:配置IIS和Web.con ...
最新文章
- 抽象类、抽象方法与代码块
- webpack与babel的深奥,渣渣的我只能做个小笔记(持续更新)
- 排队论游乐场的游乐项目_外汇游乐场
- corosync+openais+pacemaker+web
- 计算占比并保证百分比和为1
- Vim升华之树形目录插件NERDTree安装图解
- 【OpenCV 例程200篇】95. 几何均值滤波器
- php 截取某个字符,PHP_php截取指定2个字符之间字符串的方法,本文实例讲述了php截取指定2个 - phpStudy...
- VUE自学日志05-计算属性和侦听器
- 北京一女子乘公交车遇车祸 惨遭钢筋穿胸
- 电商美工手里没有C4D素材模板,不能体现有多厉害
- p71_文件传送协议FTP
- [笔记]C++代码演示SingletonMap 单类Map实例
- TC Games无需安卓模拟器电脑玩绝地求生手游,按键设置详细教程
- electron打包失败在下载nsis的地方
- vijos 1002
- 那些年我们一起追过的稀奇古怪的SQL
- Android开发之通过浏览器链接打开任意app页面
- 图像处理基础——空间域处理之灰度变换
- Qt Windows上实现毛玻璃效果
热门文章
- SqlAlchemy使用
- Java中String类的运算符过载机制
- 宋浩_1_函数映射, 满射/双射/单射/逆映射, 定义域,值域
- 行走的offer收割机,这份十万字Java面试总结已经帮助上百人拿到大厂offer,还不快冲?
- 18.Redis系列之AOF方式持久化
- 多图像拼接---最佳缝合融合
- 傻傻分不清楚:裸纤、专线、SDH、MSTP、MSTP+、OTN、PTN、IP-RAN
- 某短视频(dy)创作者平台发布视频JS逆向学习(1)
- 海关跨境电商平台数据实时获取接口对接走过的坑(海关165,179号公告)
- ANSI C 标准函数库