聊天软件中右下角窗口上滑提示有好友上线,窗口下滑提示有好友下线。

在 Qt 下实现此功能,用到的类有 QPoint  QTimer

mainwindow.h

 1 #ifndef MAINWINDOW_H
 2 #define MAINWINDOW_H
 3
 4 #include <QMainWindow>
 5 #include <QPoint>
 6 #include <QTimer>
 7
 8 namespace Ui {
 9 class MainWindow;
10 }
11
12 class MainWindow : public QMainWindow
13 {
14     Q_OBJECT
15
16 public:
17     explicit MainWindow(QWidget *parent = 0);
18     void point_to_point();
19     ~MainWindow();
20
21 private:
22     Ui::MainWindow *ui;
23     QTimer* M_Timer;
24     QTimer* M_Timer1;
25     QTimer* M_Timer2;
26     int Counter;
27     QPoint curPos;
28
29 private slots:
30     void timerDone();
31     void timerDone1();
32     void timerDone2();
33 };
34
35 #endif // MAINWINDOW_H

mainwindow.cpp

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3
 4 MainWindow::MainWindow(QWidget *parent) :
 5     QMainWindow(parent),
 6     ui(new Ui::MainWindow)
 7 {
 8     ui->setupUi(this);
 9     M_Timer = new QTimer();
10     M_Timer1 = new QTimer();
11     M_Timer2 = new QTimer();
12     this->move(950,768);
13     curPos=this->pos();
14     connect(M_Timer, SIGNAL(timeout()),this, SLOT(timerDone()));
15     connect(M_Timer1, SIGNAL(timeout()),this, SLOT(timerDone1()));
16     connect(M_Timer2, SIGNAL(timeout()),this, SLOT(timerDone2()));
17     point_to_point();
18 }
19
20 MainWindow::~MainWindow()
21 {
22     delete ui;
23 }
24
25 void MainWindow :: point_to_point()
26 {
27     M_Timer->start(100);
28     curPos=this->pos();
29     QPoint TmpPos(curPos.x(),curPos.y()-10);
30     this->move(TmpPos);
31 }
32
33 void MainWindow :: timerDone()
34 {
35     curPos=this->pos();
36     QPoint TmpPos(curPos.x(),curPos.y()-10);
37     this->move(TmpPos);
38     Counter = curPos.y();
39     qDebug() << curPos.y();
40     if(Counter < 500)
41     {
42        M_Timer->stop();
43        M_Timer2->start(1000);
44     }
45 }
46
47 void MainWindow :: timerDone1()
48 {
49     curPos=this->pos();
50     QPoint TmpPos(curPos.x(),curPos.y()+10);
51     this->move(TmpPos);
52     Counter = curPos.y();
53     if(Counter > 660)
54     {
55         M_Timer1->stop();
56     }
57 }
58
59 void MainWindow :: timerDone2()
60 {
61     curPos=this->pos();
62     QPoint TmpPos(curPos.x(),curPos.y());
63     this->move(TmpPos);
64     M_Timer2->stop();
65     M_Timer1->start(100);
66 }

2014-07-28   21:03:08

转载于:https://www.cnblogs.com/lweleven/p/onlinewaring.html

聊天软件中的窗口上滑和下滑提示上下线相关推荐

  1. android上滑隐藏动画,ListView上滑和下滑,显示和隐藏Toolbar的实现方法

    1.准备Toolbar 先隐藏系统自带的actionbar,在AndroidManifest.xml文件标签中: android:theme="@style/Theme.AppCompat. ...

  2. js判断手指的上滑,下滑,左滑,右滑,事件监听

    2019独角兽企业重金招聘Python工程师标准>>> 原理:1:当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和staerY: 2:当触发touchmo ...

  3. 移动端html右滑空白,移动端之touch事件_上滑、下滑、左滑和右滑

    开发app的前端框架有哪些 移动 原理:第一,当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY:第二,当触发touchmove事件时,在获取此时手指的横坐 ...

  4. js判断手指上滑和下滑

    <script>var startX = 0,startY = 0;function touchStart(evt){try{var touch = evt.touches[0], //获 ...

  5. 判断滚动条是上滑还是下滑

    var beforeScrollTop = document.body.scrollTop;$(window).scroll(function(){var afterScrollTop = docum ...

  6. Qt 实现聊天软件中自定义表情包(随笔记录)

    简述: QT实现自定义表情包,通过对(能够设置表情的行列数 , 表情的大小,表情的个数.最大行数等) 效果: 代码如下: EmoticonsWidget主要实现表情包窗口. EmoticonsWidg ...

  7. 判断listview是上滑还是下滑的方法

    方法一: 用setOnScrollListener(new AbsListView.OnScrollListener())来实现,判断滑动后显示的第一个条目 ,与滑动前的第一个条目的大小来判断, 这种 ...

  8. vue js判断长按触发及手指的上滑、下滑、左滑、又滑

    <span class="btn" @touchstart="touchstart()" @touchmove="touchmove()&quo ...

  9. 检测鼠标上滑还是下滑

    $(function () {var scrollFunc = function (e) {e = e || window.event;var t1;var t2;if (e.wheelDelta) ...

最新文章

  1. 《CIO新思维III-变革时代的企业IT战略与实务》即将出版,战略观点征集活动中...
  2. 微服务架构 — 设计原则
  3. 【GNN】2022年最新3篇GNN领域综述!
  4. Apache Dubbo 3.0.0 正式发布 - 全面拥抱云原生
  5. 51nod 1393 0和1相等串 思路 : map存前缀和
  6. spring依赖注入_Spring源码阅读:Spring依赖注入容器
  7. avalon2学习教程15指令总结
  8. 35、JAVA_WEB开发基础之过滤器
  9. Win7系统提示NVIDIA显示设置不可用怎么办
  10. 【测试】提交BUG的标准规范
  11. 大数据分析平台搭建方式有哪些
  12. 最好用16进制工具wxHexEditor
  13. 冗余链路中STP协议的工作过程以及二期STP收敛速度优化方案介绍
  14. nginx: [emerg] unknown directive “锘? in******
  15. 计算机的USB接口可以扩展吗,电脑USB接口不够用怎么解决
  16. 上偏续关系哈斯图_A={a,b,c}定义在P(A)上的包含关系是一个偏序关系,哈斯图怎么画?...
  17. size_t_梁斌_新浪博客
  18. 使用 MAUI 在 Windows 和 Linux 上绘制 PPT 的图表
  19. 给自己看的(摘自他人)
  20. 【Python Web】Flask框架(一)快速开发网站

热门文章

  1. 快速电子体温计PCBA方案
  2. GitLab(版本控制)
  3. 注塑模的抽芯、滑块机构及避免
  4. 简单算法-bellman最短路
  5. 分子生物学实验计算机,BioSun2.0:一个综合性的辅助分子生物学实验设计软件
  6. 千字讲解极大似然估计
  7. C++入门学习(二):一些基础知识(关键字以及自增符号)
  8. PTA-时间换算(15分)
  9. 从CAD图到GeoServer的探索手账
  10. 薪资核算:工资项的加减乘除