Qt4中没有直接可用的延时函数(当然,也可以继承QThread,使用QThread的延时函数),因此需要自己动手编写了。网上查到使用较多的是QTime,比如下面的链接:
但是这种方案造成了忙等待,CPU不但没有sleep,而是更加忙碌了。为了降低CPU占用率(节能减排,降低功耗),可以采用如下的方法:
void mySleep(int ms)
{
QEventLoop eventloop;
QTimer::singleShot(ms, &eventloop, SLOT(quit()));
eventloop.exec();
}