QTime
1: QTime t;
2: t.start();
3: while(t.elapsed()<1000)
4: QCoreApplication::processEvents();
不停地处理事件,以使得程序保持响应。
QElapsedTimer
这是Qt4.7引入的新的类,和QTime相比,它提供了更快的计算 elapsed 时间的方法。
1: QElapsedTimer t;
2: t.start();
3: while(t.elapsed()<1000)
4: QCoreApplication::processEvents();
QEventLoop 配合QTimer使用局部的 eventLoop 也是一个不错的选择。例子:
1: QEventLoop eventloop;
2: QTimer::singleShot(100, &eventloop, SLOT(quit()));
3: eventloop.exec();