节前分享一个鼠标样式动画,祝大家春节快乐!
要放假了,闲来无事,想到在浏览网页时,经常看到漂亮的鼠标动画,琢磨着在Qt里也美化一下,写个demo分享给大家。
先上效果图

细节可参阅我的blog :http://blog.csdn.net/yiyaaixuexi/article/details/7209982
不废话,上demo代码:
先上效果图

细节可参阅我的blog :http://blog.csdn.net/yiyaaixuexi/article/details/7209982
不废话,上demo代码:
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QTimer>
#include <QList>
#include <QPoint>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QWidget *w1,*w2,*w3,*w4;
QTimer *timer;
QList<QPoint> pos_list_w2;
QList<QPoint> pos_list_w3;
QList<QPoint> pos_list_w4;
int count;
void setMyStyle(QWidget *wid, int w, int h);
protected:
void mouseMoveEvent(QMouseEvent *event);
private slots:
void updatePos();
};
#endif // WIDGET_H
#include "widget.h"
#include <QPalette>
#include <QDebug>
#include <QMouseEvent>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
QPalette phome = this->palette();
phome.setBrush(this->backgroundRole(), QBrush(QPixmap(":/images/bg.jpg")));
this->setPalette(phome);
w1 = new QWidget(this);
w2 = new QWidget(this);
w3 = new QWidget(this);
w4 = new QWidget(this);
setMyStyle(w1,34,34);
setMyStyle(w2,26,26);
setMyStyle(w3,18,18);
setMyStyle(w4,9,9);
timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(updatePos()));
timer->start(100);
this->setMouseTracking(true);
count = 0;
}
Widget::~Widget()
{
}
void Widget::setMyStyle(QWidget *wid, int w, int h)
{
wid->setWindowFlags(Qt::FramelessWindowHint);
wid->resize(w,h);
wid->setStyleSheet("border-image: url(:/images/cursor.png);");
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
w1->move(event->x(),event->y());
if(!count)
pos_list_w2 << event->pos();
count > 7 ? (count = 0): count++;
}
void Widget::updatePos()
{
if(!pos_list_w4.isEmpty())
{
this->w4->move(pos_list_w4.takeFirst());
}
if(!pos_list_w3.isEmpty())
{
pos_list_w4 << pos_list_w3.first();
this->w3->move(pos_list_w3.takeFirst());
}
if(!pos_list_w2.isEmpty())
{
pos_list_w3 << pos_list_w2.first();
this->w2->move(pos_list_w2.takeFirst());
}
}
...全文
相关推荐
vue实现鼠标经过动画
主要为大家详细介绍了vue实现鼠标经过动画的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
jQuery鼠标悬停图片分享按钮动画
这款jQuery插件可以实现鼠标滑过图片时在图片上方创建任意的元素,包括分享按钮和图片文字描述等。这些按钮和文字可以悬浮在图片的任意位置,同时你也可以自己定义这些图片上方的元素出现时的动画特效。
CSS3鼠标hover图片动画样式
这是一款炫酷的CSS3鼠标hover图片动画样式。当鼠标hover图片时,图片遮罩层以3D翻转的方式出现。在炫酷的翻转动画之后,在遮罩层上显示图片的描述信息。
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
今天小编就为大家分享一篇vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一个非常好用的鼠标指针样式
widows上的鼠标指针。


