1、重写QApplication后,用notify来获取鼠标或者触摸屏是否有动作。
bool TimerAppliction::notify(QObject *obj, QEvent *e)
{
if(e->type() == QEvent::MouseMove || e->type()==QEvent::TouchEnd )
{
checkTimes=0; //当有触发时,时间清零
//当屏没有亮时,让屏亮起来
.......
}
return QApplication::notify(obj,e);
}
2、用定时器计算,比如1分钟都没有收到触摸信息时,让屏幕关闭。当有触摸动作时,再让屏幕点亮。
if(_checkTimes<60) checkTimes++;
//checkTimes超过这个数时,就让屏灭了
......
正常的情况,这样没有问题。但问题来了
当我在界面中,用QDialog弹出窗口的时候,这个弹出窗口在屏幕中比较小,当黑屏的时候,如果点不到这个弹出窗口的范围内,屏是不会亮的,这个时候因为QApplication没有接收到任何触发信息。
不知道有没有哪个遇到过这样的问题,能否提供一些意见。在此感谢.