0

我正在使用 Ubuntu 12.10 和 QT 5。这是从 QThread 继承的类的 run() 方法的代码

void CheckIdleThread::run()
{
    while(isAlive())
    {
        bool newIdle = idle;
        QPoint newPos = QCursor::pos();
        if(newPos != oldPos)
        {
            if(idle)
                newIdle = false;
        }else{
            if(!idle)
                newIdle = true;
        }


        if(newIdle != idle)
            emit(isIdleChanged(idle));
        idle = newIdle;

        sleep(refreshRate);
    }

}

它会产生此错误“X server :0 上的致命 IO 错误 11(资源暂时不可用)”。

这似乎是 QCursor::pos() 资源的问题。

  • 详细的问题是什么?
  • 我该如何解决这个问题?
  • 有没有更简单的方法来检测用户是否有一段时间没有与 PC 交互?
4

0 回答 0