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_OBJECT
- public:
- 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://blog.csdn.net/robertkun/article/details/27096677
Qt实现360桌面精灵相关推荐
- vs+qt实现简单桌面精灵
开篇先放成果(桌面精灵用的图片皆为网上的图片,后准备自己做一下) 可以实现获取在桌面的位置,产生相应的变化,比如用鼠标将他拖到电脑屏幕边缘,会吸附到电脑边缘(其实就是换了一张图片,对窗口进行一些操作, ...
- QT之桌面精灵实现(一) --- 透明窗体和图片绘制
关于QT种种,之前已经吐槽过了,打算写几篇记录一下桌面精灵的制作过程,不过由于是过了挺长时间才想要写,所以之前的一些东西都忘得差不多了,总之想起多少写多少. 桌面精灵的第一步,就是要把一个精灵渲染到桌 ...
- PyQt5桌面应用开发(11):摸鱼也要讲基本法之桌面精灵
本文目录 PyQt5桌面应用系列 鼠标不要钱,手腕还不要钱吗? PyQt5源程序 python文件 资源定义 界面定义文件 技术要素 资源文件 StyleSheets QMainWindow设置 窗体 ...
- Qt Creator在桌面上预览
Qt Creator在桌面上预览 在桌面上预览 在桌面上预览 要在桌面上预览当前活动的QML文件,请执行以下操作: 选择"构建" >" QML预览". 选 ...
- 360桌面计算机,360桌面管理软件
360桌面管理是从360安全卫士中单独提取出来,让你无需安装360安全卫士就能快速使用桌面助手整理自己的桌面. [功能特色] 1.一键整理桌面,眨眼之间变清爽 360桌面助手采用收纳盒进行分类管理,支 ...
- JAVA桌面精灵演示版
近来闲的慌,看见C#或C++写的桌面精灵是不是心理痒痒,JAVA能写不?在我这里回答是:能 当然程序还有点bug,背景处理有问题,这个和系统的刷新率有关....以后再研究... 没啥特别的功能,就是隐 ...
- 怎样使用计算机的桌面助手,360桌面助手怎么用
360桌面助手是电脑端应用,通过它可以快速的打开一些电脑常用应用,并且能够有效的整理电脑桌面,那么它具体如何使用呢?下面小编介绍它最主要的几款功能. 操作方法 01首先也是最主要的功能就是整理电脑桌面 ...
- 桌面计算机1008桌面计算机,windows桌面精灵
windows桌面精灵是一款鼠标键盘动作录制工具,可以自动录制和自定义录制. 功能特色: 一键智能录制键盘鼠标动作 一次智能录制键盘鼠标动作,让桌面精灵为您卖力的重复这这些枯燥的重复操作吧. 超简单自 ...
- 360桌面助手待办事项同步/迁移的方法(从一台电脑迁移到另外一台电脑上)
自己的电脑升级,需要把各种数据迁移过来,最难办的是迁移 各种软件的配置,数据信息,例如搜狗输入法用户词库等.这个搜狗输入法提供了导出词库,再导入的功能.360的桌面助手很好用,作者添加了很多待办事项, ...
最新文章
- Map集合的几种遍历方式
- DataScience:深入探讨与分析机器学习中的数据处理之线性变换—标准化standardization、归一化Normalization/比例化Scaling的区别与联系
- GridView 自写分页 存储过程
- OpenGL基于PBR的图像的光照IBL的实例
- PL/SQL Developer下设置“长SQL自己主动换行”
- MATLAB程序详细解析,遗传算法——matlab代码解析
- java thread 输出结果_大神来看看这段程序输出结果是什么?
- memcached—Java操作Memcached
- 【正点原子MP157连载】第二章 ATK-STM32MP157烧写系统-摘自【正点原子】STM32MP157快速体验
- Android P wakeup 亮屏流程
- python ttk.notebook_python – 删除Ttk Notebook标签虚线
- 发布《IBM虚拟机J9指南》
- ubuntu12.04 快捷键
- 手札 江湖的完美窗口化研究
- 业务数据分析-常见业务指标
- 游戏后台之内存管理篇
- windows如何使用本机电脑远程桌面连接另一台电脑
- 在win7中要修改计算机的虚拟内存,Win7虚拟内存要设置?
- 使用极限学习机进行股市预测(Matlab代码实现)
- word图片批量添加题注(序号)的方法