LINUX.ORG.RU

Ответ на: комментарий от Pavval

QThread::sleep() объявлен, как protected, чтобы не смущать начинающих в event-driven programming. Топикстартеру, скорее всего, нужен QTimer (например, QTimer::singleShot()) или QObject::startTimer().

mannaz
()
Ответ на: комментарий от mannaz

Можно пример кода? Не представляю как приостановить поток с помощью QTimer.

thrall
()

По теме: делал задержку при помощи QEventLoop:

QEventLoop loop;

// соединить сигнал по которому перестаем ждать со слотом quit объекта loop

loop.exec();

thrall
()
class Sleeper: public QThread
{
    public:
        static void msleep(int ms)
        {
            QThread::msleep(ms);
        }
};

спать так

Sleeper::msleep(2000);

mi_estas
()

Если у тебя событейно-ориентированное программирование, то оно тебе точно не надо. Если тебе нужна пауза в каком то длительном процессе вычисления, то тебе запускать его придется в отдельной QThread, а там доступен sleep.

SSZB
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.