相关疑难解决方法(0)

如何在应用程序本身(Qt)内检测Qt GUI应用程序是否已空闲?

如何在一段时间内检测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

8
推荐指数
2
解决办法
6743
查看次数

标签 统计

qt ×1