QT实现类似QQ的抖屏效果
来源:互联网 发布:2017mac国服英雄联盟 编辑:程序博客网 时间:2024/06/05 18:27
抖屏效果的实现说白了就是通过设置定时器,循环定时并不断变换mainWindow的位置来实现的。废话不多说直接上代码。
mainwindow.h文件:
void shakeWindow();//抖窗口void setShakeNumber();//把m_nTimes置零int m_nTimes=0;QPoint m_curPos;QTimer* m_timer;
mainwindow.cpp文件:
Window::Window(QWidget *parent),m_timer(new QTimer(this)),m_nTimes(0),m_curPos(QPoint()){}void Window::setShakeNumber(){ m_nTimes = 0;}void Window::shakeWindow(){ m_curPos = this->pos(); m_timer->stop(); if (m_nTimes <= MaxLimitTimes) { ++m_nTimes; switch (m_nTimes % 4) { case 1: { QPoint tmpPos(m_curPos.x() + MaxLimitSpace, m_curPos.y() - MaxLimitSpace); this->move(tmpPos); } break; case 2: { QPoint tmpPos(m_curPos.x() - MaxLimitSpace, m_curPos.y() - MaxLimitSpace); this->move(tmpPos); } break; case 3: { QPoint tmpPos(m_curPos.x() - MaxLimitSpace, m_curPos.y() + MaxLimitSpace); this->move(tmpPos); } break; case 0: { QPoint tmpPos(m_curPos.x() + MaxLimitSpace, m_curPos.y() + MaxLimitSpace); this->move(tmpPos); } break; default: this->move(m_curPos); break; } m_timer->start(); }
}
///////////////////////////////////////////////////////////////////////////////////////////
main.cpp:
int main(int argc, char *argv[])
{
QTimer _pShakeWindowTimer=new QTimer(this);
QPushButton _shakeBtn=new QPushButton(this);
connect(&_pShakeWindowTimer, SIGNAL(timeout()), this,SLOT(onShakeWindowTimeOut()));
connect(_shakeBtn,SIGNAL(clicked()),this,SLOT(onClickShakeBtn()));
_pShakeWindowTimer.setInterval(40);//设置定时器为40毫秒
}
void onClickShakeBtn()
{
_pShakeWindowTimer.start();
App::wnd()->setShakeNumber();
}
///////////////////////////////////////////////
全文完(代码有点凌乱,大家凑活看,忙完这段时间了把代码整整)
- QT实现类似QQ的抖屏效果
- 实现 类似 Android Market || QQ 横屏滚动 的 效果
- QT实现类似QQ的截图功能
- 基于Qt的类似QQ好友列表抽屉效果的实现
- 基于Qt的类似QQ好友列表抽屉效果的实现
- Qt+html+JavaScript实现类似QQ聊天界面的气泡效果
- QT treeview实现类似tableview的效果
- 类似QQ相册的效果
- QT实现的类似QQ的头像选择窗
- vb.net实现类似QQ窗体的浮动效果
- JQuery实现类似QQ下拉菜单式的效果
- jQuery实现类似QQ下拉菜单式的效果
- android expandablelistview--实现类似qq界面的效果
- JavaScript实现的类似腾讯QQ聊天窗口抖动效果
- Android实现类似QQ的滑动删除效果
- Android实现类似QQ的滑动删除效果
- 类似QQ消息条数拖拽消失动画效果的实现
- Android实现类似QQ的滑动删除效果
- 堆排序 Java
- 循环
- 二叉树的递归算法
- python基于nginx访问日志统计客户端ip访问量
- eclipse 各种奇葩错误(不定期更新)
- QT实现类似QQ的抖屏效果
- docstring
- win8.1如何删除打开这台电脑最上面的几个文件夹
- 分布式系统中保证数据的正确性(插入与更新)
- MySQL查询时区分大小写的方法
- JS 面向对象版 贪吃蛇
- 以静态网页为原型制作dede动态模板
- hbase命令
- 15.给链表中的数据排序