我正在使用 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 交互?