Qt制作360安仔精灵
来源:互联网 发布:税务局知乎 编辑:程序博客网 时间:2024/04/29 06:10
有两个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
0 0
- Qt制作360安仔精灵
- Qt实现360桌面精灵
- C# 制作小精灵
- compass 制作精灵图
- 网页精灵图制作
- fis3 精灵图制作
- 前端的精灵图制作以及精灵图定位
- 制作小精灵代码(c++biuder 6)
- VS2010环境 MFC 桌面精灵 制作
- 制作精灵遮罩cocos2dx3.0
- Cocos2d-x:制作一个动态的精灵
- Ps绘制灰尘精灵制作教程
- Unity3D制作2D精灵动画
- [OpenGL] 利用精灵表制作动画
- 【手游脚本】触动精灵制作脚本
- 6.4_精灵动画制作器
- 移动设备上“精灵图”的制作
- HTML版图像精灵制作工具
- 2014年互联网IT待遇
- linux mint下安装thrift
- php字符串处理函数大全
- Sql server 数据库的备份和还原____还原数据库提示“介质集有2个介质簇,但只提供了1个。必须提供所有成员”
- 连接查询
- Qt制作360安仔精灵
- Ant之build.xml详解
- CSDN帖子的标题
- VC++屏幕抓图、屏幕截图并保存
- php 操作数组 (合并,拆分,追加,查找,删除等)
- POJ 2135 Farm Tour
- 八种Nosql数据库系统对比
- Oralce查询语句入门
- php排序算法总结