История изменений
Исправление aol, (текущая версия) :
Спасибо. В любом случае будет очень интересно посмотреть.
кушайте, не обляпайтесь :)
как я и говорил, если таймер будет вызываться чаще, чем поток будет успевать завершаться, ты будешь наблюдать то, что описывал в ОП.
Если ты не знаешь, сколько будет выполняться очередная задача, но следующую тебе надо запустить только после очередного таймаута таймера, то можно сделать, например, вот так:
на сигнал QTimer::timeOut повесь отдельный слот в MainWindow, в котором испускай сигнал, например, enqueue и сразу делай workerTimer->stop(). enqueue соедини с Worker::makeResult
В слоте, принимающем инфу от Worker::resultReady делай workerTimer->start()
или, что еще проще, использовать, в таком случае, таймер в singleShot режиме.
Исходная версия aol, :
Спасибо. В любом случае будет очень интересно посмотреть.
кушайте, не обляпайтесь :)
как я и говорил, если таймер будет вызываться чаще, чем поток будет успевать завершаться, ты будешь наблюдать то, что описывал в ОП.
Если ты не знаешь, сколько будет выполняться очередная задача, но следующую тебе надо запустить только после очередного таймаута таймера, то можно сделать, например, вот так:
на сигнал QTimer::timeOut повесь отдельный слот в MainWindow, в котором испускай сигнал, например, enqueue и сразу делай workerTimer->stop(). enqueue соедини с Worker::makeResult
или, что еще проще, использовать, в таком случае, таймер в singleShot режиме.
В слоте, принимающем инфу от Worker::resultReady делай workerTimer->start()