【Qt】Sleep()の実装例

QtによるSleepメソッド実装方法を記します(ほぼ参考資料の転載です)。

Sleep は指定時間の間、処理の実行を中断するメソッドです。 実装により次の2種類が存在しています。

  • 秒指定
  • ミリ秒指定

前者には C++標準ライブラリ のSleepメソッドが、 後者には Windowライブラリ のSleepメソッドがあります。

本記事ではこの2種類を対象に実装例を示します。

Sleep(秒指定)

#include <QtCore/QThread>

void Sleep( unsigned long secs )
{
    QThread::sleep( secs );
}

Sleep(ミリ秒指定)

#include <QtCore/QEventLoop>
#include <QtCore/QTimer>

void Sleep( int msec )
{
    QEventLoop loop;
    QTimer::singleshot( msec, &loop, SLOT( quit() ) );
    loop.exec();
}

参考資料

以上