QEventLoopでsleep()を実現する
Qtは基本的にイベントトリブン型です。
イベントループを発行して指定時間処理させる事で、sleepを実現できます。
この方法のメリットは、QThread::sleep()はsec単位なのに対し、
QEventLoopでは msec 単位で制御が可能な事です。
方法としては、QTimerのsingleshot()と組み合わせて使用します。
#include <QTimer> #include <QEventLoop> //.... do something ..... QEventLoop loop; QTimer::singleshot(10, &loop, SLOT(quit()); loop.exec(); // Process after 10 msec //.... do something .....どちらを使うかは状況に応じて使い分けていきましょう。
ちなみに、C++ですのでC++のSleep()ももちろん使えます。
//.... do something ..... Sleep(10) // Wait for 10 sec //.... do something .....