6

QRunnableメソッドはないようsleepです。のように
メソッドを呼び出すにはどうすればよいですか?QThread::sleepQRunnable

4

2 に答える 2

9
  1. プラットフォーム固有の関数を使用しないでください。Qt の大きな利点は、非常に簡単に移植できることです。だけで台無しにしないでsleep

  2. そこで public と宣言されているため、 Qt 5QThread::sleepから、QRunnableまたはQt 5QtConcurentでのみ使用できます。

void QThread::sleep ( unsigned long secs ) [static protected] // Qt 4.8

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

以前の Qt バージョンの回避策としてミューテックスを使用できます。

QMutex m(QMutex::NonRecursive);
m.lock();
m.tryLock(timeout);

Mutex は再帰的にロックできず、タイムアウトを待ちます。

于 2013-06-04T13:18:57.700 に答える
3

Qt::sleep()にはなく、POSIX.1-2001関数です。

また、このコードを試すこともできQThread::sleep()ます。::Sleep()

class mythreadhelper : public QThread
{
   public:
   static void mysleep(int ms)
   {
      return sleep(ms);
   }
};

この質問はQt Centerで回答され、Nokia Certified Qt Developer から回答がありました。

于 2013-06-04T02:07:16.380 に答える