QWebPage renderer;
QMutex xlock;
В конструкторе:
connect(&renderer,SIGNAL(loadFinished(bool)),this,SLOT(saveRender(bool)));
Далее я прохожусь по списку урлов которые хочу сохранить:
for(int r=0;r<model->rowCount();r++)
{
xlock.lock();
QSqlRecord sql = model->record(r);
target_urle=sql.value("url").toString();
renderer.mainFrame()->load(QUrl(target_urle));
}
Функция сохранения:
void MainWindow::saveRender(bool x)
{
...
result.save(render_path);
xlock.unlock();
}
Как правильно сделать чтобы это не висло и не падало при переборе из нескольких ссылок.
Как я понял, при загрузке страницы создаётся thread`а из которой потом эмитируется сигнал loadaFinished. За это время цикл достаёт следующую ссылку и происходит конфликт когда по сути выполняется сохранение результата и загрузка след. страницы. Как правльно расставить объекты синхронизации?