Russian Qt Forum

Qt => Работа с сетью => Тема начата: rizzoli от Июль 12, 2014, 08:49



Название: QWebView окончание загрузки
Отправлено: rizzoli от Июль 12, 2014, 08:49
Вообщем, загружаю страницу в QWebView, но так как страница состоит из нескольких фреймов - сигнал loadFinished вызывается несколько раз, по разу на фрейм. Сделал так:

Код:
QObject::connect(webView, SIGNAL(loadProgress(int)), this, SLOT(pageSave(int)));

void mainWindow::pageSave(int progress)
{
    if(progress == 100)
    {
        .................//сохранение
    }
}

Сохраняет, хоть и переписывает несколько раз, но как теперь узнать момент, когда все фреймы загрузились?


Название: Re: QWebView окончание загрузки
Отправлено: gil9red от Июль 12, 2014, 10:27
Вообщем, загружаю страницу в QWebView, но так как страница состоит из нескольких фреймов - сигнал loadFinished вызывается несколько раз, по разу на фрейм. Сделал так:

Код:
QObject::connect(webView, SIGNAL(loadProgress(int)), this, SLOT(pageSave(int)));

void mainWindow::pageSave(int progress)
{
    if(progress == 100)
    {
        .................//сохранение
    }
}

Сохраняет, хоть и переписывает несколько раз, но как теперь узнать момент, когда все фреймы загрузились?

void loadFinished(bool ok) (http://qt-project.org/doc/qt-5/qwebview.html#loadFinished)


Название: Re: QWebView окончание загрузки
Отправлено: rizzoli от Июль 12, 2014, 10:50
Так он вызывается по разу на каждый фрейм, а сколько фреймов заранее я не знаю.


Название: Re: QWebView окончание загрузки
Отправлено: Bepec от Июль 12, 2014, 11:00
Таки да, эта проблема интересовала и меня.
Тут проблема в определении количества фреймов и окончании загрузки страницы. Я так эту проблему и не решил к сожалению. К примеру страницы с javascript'ом в фрейме будет вечно подгружать данные.