如何睡在QRunnable?

CDT*_*CDT 6 c++ qt

似乎QRunnable没有sleep办法.
我怎样才能调用方法就像QThread::sleepQRunnable

Lol*_*4t0 9

  1. 不要使用特定于平台的功能.Qt的巨大优势在于它非常便于携带.不要毁掉它sleep

  2. 你可以使用QThread::sleep来自QRunnableQtConcurent只在Qt的5,因为它是声明为public有:

void QThread :: sleep(unsigned long secs)[静态保护] // Qt 4.8

void QThread :: sleep(unsigned long secs)[静态] // Qt 5.0

您可以使用互斥锁作为早期Qt版本的变通方法:

QMutex m(QMutex::NonRecursive);
m.lock();
m.tryLock(timeout);
Run Code Online (Sandbox Code Playgroud)

互斥锁将无法以递归方式锁定并等待超时.