Russian Qt Forum
Ноябрь 23, 2024, 04:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWebView - как определить, что страница загружена?  (Прочитано 2651 раз)
PavelVX
Гость
« : Июнь 16, 2014, 10:20 »

Добрый день!
С ходу была простяцкая задача(win, Qt 4.7.4): в прогу встроить подобие браузера.
В примерах нашел фансибраузер. Эксперементирую с вконтакте. Улыбающийся
Сделал все похожим. Но возникла пару вопросов:
1. Как определить, что страница загружена? Есть сигнал loadFinished(bool). Но даже окно логина вконтакте генерит этот сигнал 3 раза. Т.е. нет четкого критерия загрузки.
2. Начал замечать такую вещь: периодически, походив по ссылкам, при попытке закрытия приложения, оно не закрывается. Т.е. окно исчезает, но если открыть диспетчер задач, то оно в списке процессов! Как-то можно определить что именно его тормозит? В деструктор виджета уже запихал:
Код:
    webView->stop();
    delete webView;
    qDebug() << "stop!";
Сообщение возникает. но приложение не завершается.
Подскажите, куда копать?
Записан
PavelIgorevich
Гость
« Ответ #1 : Сентябрь 12, 2014, 16:08 »

Все верно - нужно именно подконнектиться к сигналу loadFinished браузера. Про то, что страница генерится 3 раза - это идет от самого контакта - там хитрый JavaScript генерит эту страницу.
Записан
Bepec
Гость
« Ответ #2 : Сентябрь 12, 2014, 16:15 »

Зафигачить в конструкторе вашей программы
Код:
qApp->setQuitOnLastWindowClosed(true)
. Тогда будут завершаться и потоки.

Определить конец загрузки нереально. loadFinished генерируется при загрузке каждого iframe.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 20.