如何判断鼠标在一个widget下停留的时间

怎么判断鼠标在一个widget上停留的时间
如果鼠标在一个widget上停留超过2s,就执行相应的动作,请问该用什么函数?

------解决方案--------------------
void QWidget::enterEvent ( QEvent * event ) [virtual protected]是QWidget进入的事件,当鼠标进入时会响应该事件,可以改写这个函数,进入的时候启动个QTimer 2s timeout之后执行你要执行的那个slot函数;
void QWidget::leaveEvent ( QEvent * event ) [virtual protected]是对应的离开QWidget事件
------解决方案--------------------
当鼠标进入一个QWidget时,通过下面的方法捕获:
virtual void enterEvent ( QEvent * event )

当鼠标离开一个QWidget时,通过下面的方法捕获:
virtual void leaveEvent ( QEvent * event )

用QTimer计时
------解决方案--------------------
timer应该在类的头文件里声明为类成员变量。构造函数里new出来,并且connect
还要一个bool类型是类成员变量,储存鼠标是否在widget里
timerout的槽里,检测bool变量,emit一个自定义信号。

------解决方案--------------------
鼠标移动进QWidget,timer->start(),鼠标移出stop()
timerout槽里也要timer->stop()
------解决方案--------------------
探讨

引用:

引用:

void QWidget::enterEvent ( QEvent * event ) [virtual protected]是QWidget进入的事件,当鼠标进入时会响应该事件,可以改写这个函数,进入的时候启动个QTimer 2s timeout之后执行你要执行的那个slot函数;
void QWidget::leaveEven……