Код: Выделить всё
void DownloadManager::append(const QUrl &url)
{
if (downloadQueue.isEmpty())
QTimer::singleShot(0, this, SLOT(startNextDownload()));
downloadQueue.enqueue(url);
++totalCount;
}
- Я не понимаю, почему, если downloadQueue пуст, перед добавлением необходимо активировать startNextDownload() URL. (обратите внимание: startNextDownload() завершает программу, если очередь загрузки пуста)
- Я не уверен, почему: QTimer: :singleShot(x, y, z) вообще использовался. Насколько я понимаю, это таймер, который активирует слот с задержкой в 0 миллисекунд.
- Посмотрев на Qt Assistant, я не смог понять, является ли singleShot однократной настройкой для повторной активации в слот с заданным интервалом в миллисекундах или один раз
Я новичок и в таких примерах:
Код: Выделить всё
statement1;
statement2;
Подробнее здесь: https://stackoverflow.com/questions/415 ... bj-slot-do