聊天软件中的窗口上滑和下滑提示上下线

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

在 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

聊天软件中的窗口上滑和下滑提示上下线

时间: 2024-08-03 03:20:39

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

vue中使用触摸事件,上滑,下滑,等

第一步,下载一个包 npm install kim-vue-touch -s 在当前项目中下载包 第二部 import vueTouch from 'kim-vue-touch' Vue.use(vueTouch) kim-vue-touch提供了点击.长按.左滑.右滑.上滑.下滑等事件, 当你不需要传参时可以通过v-tap="vueTouch"的形式调用方法, 当你需要传参时v-tap="(e)=>vueTouch('点击',e)"的方式调用,e是event

android开发中即时聊天软件中时间的获得

` /** * 根据long类型的时间戳,转换为一个String类型的描述性时间 * 通话记录如果发生在今天:"15:30" * 发生在昨天:"昨天8:23" * 发生在前天:"前天4:56" * 更早: "2016/04/15" * @param timeStample * @return */ //timeStample是聊天记录发生的时间 public static String getTime(long timeSta

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

方法一: 用setOnScrollListener(new AbsListView.OnScrollListener())来实现,判断滑动后显示的第一个条目 ,与滑动前的第一个条目的大小来判断, 这种方法逻辑简单,但是必须要滑动到当前第一条目隐藏后才能起作用,当listview的单个条目的高度很大时,这种方法就不好使了.代码如下: lv_shiti_content.setOnScrollListener(new AbsListView.OnScrollListener() { boolean s

NestedScrollView嵌套RecycleView 滑动 实现上滑隐藏 下滑显示头部效果

废了好大的劲才弄好的,记下来 方便以后查看 public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private List<String> mDatas; private HomeAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

touch监听判断手指的上滑,下滑,左滑,右滑,事件监听

判断滑动的方向和距离,来实现一定的效果,比如返回上一页等等 <body> <script> $(function(){ //给body强制定义高度 var windowHeight = $(window).height(), $body = $("body"); // console.log($(window).height()); //627 // console.log($('body').height()); //0 $body.css("hei

RecyclerView 滑动检测 (上滑 up)(下滑 down)(顶部 top)(底部 bottom)

RecyclerView 给我们的可以检测滑动事件的接口 只有 一个方法 recyclerview.setOnScrollListener()或者 recyclerview.addOnScrollListener() set方法将会被弃用 deprecated 最好使用add方法但是这个也可以根据自己情况,如果自己当前的api中set方法没有被弃用,不存在add方法.就只能使用set方法了. 监听 上滑,下滑 这些都不是重点,接下来就分析如何监听,RecyclerView的滑动. Recycle

微信 判断 上滑 下滑 操作

1:判断用户动作,"向上滑动" 或者 "向下滑动",闲话不多说,直接上代码: 方法1 ( 利用 bindtouchmove,缺点:可能会频繁操作 setData 方法 ) : <view wx:for="{{list}}" id="{{item}}" wx:key="{{index}}" bindtouchmove="checktouchmove" class="know

微信小程序监听用户上滑下滑事件

今天做了一个要根据用户上滑或者下滑来显示不同内容的功能. 思路:先监听用户是上滑还是下滑,监听到结果后改变data数据中用来判断模块显示隐藏的变量,两个需要切换的模块使用两个hidden,data中定义两个变量来接受更改后的true或者false 页面 hidden='{{bottom}}' hidden='{{top}}' data{ //初始化状态 top:true, bottom:false, } //判断浏览器滚动条上下滚动 if (t.scrollTop > a.data.scroll

Ping32企业员工聊天软件及记录管控

聊天软件的普及让人即使是远在国外都可以随时通过聊天软件和亲人朋友来沟通交流,让人与人之间的距离变得那么的触手可及.现在在企业里几乎是人人在使用电脑来工作,尤其企业销售营销人员,和客户的交流都是通过QQ.微信等聊天软件来实现,完成与客户交谈的一系列流程,使用聊天软件工作的时间也就很长.而有的员工并不是在一直在做工作相关的事情,在和客户沟通的同时又使用聊天软件和朋友聊天,处理自己的一些私事,进而耽搁了与客户的交谈,以至于把客户晾在了一边,这要是客户脾气不好啊,一单生意可能就会损失许多利益,员工事后也