如何在一段时间内检测GUI应用程序何时处于空闲状态(即无用户交互)?
我有n个Qt屏幕,我想在应用程序空闲5秒时带上Date-Time屏幕,当我点击Date-Time屏幕时它应该返回到最后一个屏幕.
目前我正在使用下面的代码,现在如何检查系统是否空闲5秒钟带来一个新表格,当一些身体鼠标移动/点击它应该回到最后一个表格.
CustomEventFilter::CustomEventFilter(QObject *parent) :
QObject(parent)
{
m_timer.setInterval(5000);
connect(&m_timer,SIGNAL(timeout()),this,SLOT(ResetTimer()));
}
bool CustomEventFilter::eventFilter(QObject *obj, QEvent *ev)
{
if(ev->type() == QEvent::KeyPress ||
ev->type() == QEvent::MouseMove)
{
ResetTimer();
return QObject::eventFilter(obj, ev);
}
else
{
}
}
bool CustomEventFilter::ResetTimer()
{
m_timer.stop(); // reset timer
}
Run Code Online (Sandbox Code Playgroud)
而我的main.cpp看起来像这样:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainForm w;
w.show();
CustomEventFilter filter;
a.installEventFilter(&filter);
return a.exec();
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
qt ×1