LINUX.ORG.RU

Qt WebView не работает


0

1

какзалось бы куда проще

    QWebView *view = new QWebView(this);
    view->load(QUrl("www.google.ru"));
    ui->textBrowser->setText(view->page()->mainFrame()->toHtml()
            );
    view->show();
Но после выполнения textbrowser остаётся пустым, и его show() показывает белый прямоугольничек.


Ответ на: комментарий от adriano32

Спасибо. А почему QString S = view->page()->mainFrame()->toPlainText(); Не срабатывает? В S остаётся пустая строка.

vsrmis
() автор топика
Ответ на: комментарий от vsrmis

Учись искать ошибки в своём коде сам: разбей эту длинную цепочку на звенья и после выполнения каждого из них добавь код отладочного вывода результата куда-нибудь.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Оказывается надо ждать завершения загрузки. А вот ещё такой вопрос

такой код view->page()->mainFrame()->evaluateJavaScript(«document.write('HAHAHA')»); Должен в документе написать HAHAHA

И S = view->page()->mainFrame()->toHtml();

После этого должно выдать HAHAHA Но не работает :(

vsrmis
() автор топика
Ответ на: комментарий от vsrmis

>Оказывается надо ждать завершения загрузки. А вот ещё такой вопрос

Не нужно. У вебвиева есть сигнал, выдаваемый по окончанию загрузки. Вот в его обработчике и юзай свою строку.

Zhbert ★★★★★
()
Ответ на: комментарий от frozenix

я не уверен что буду компетентен, но как я понял ты делаешь document.write и затем судишь о результатах по исходному коду html, что как-бы не правильно, сечешь?..

trashymichael ★★★
()
Ответ на: комментарий от anonymous

точка с запятой в данном случае не влияет, а вот тэги влияют...

document.write('Hell'); --- получаем пустую строку

document.write('<b>Hell</b>'); --- получаем <html><head></head><body><b>Hell</b></body></html>

frozenix ★★★
()
Ответ на: комментарий от trashymichael

У страницы над которой выполняю JS:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="cufon-active cufon-ready">

frozenix ★★★
()
Ответ на: комментарий от trashymichael

я и не сомневаюсь. Я же не ТС, просто проходил мимо, стало интересно вот и решил поиграть. Сам ума не приложу зачем это ему. Хотя одна из догадок: на С++ он писать не умеет, а ему кто-то заказал прогу вот и пытается схитрить

frozenix ★★★
()
Ответ на: комментарий от frozenix

на самом деле, есть одна страничка с яваскриптом в интернете, который пишет на документ некую информацию. Скрипт примерно такого содержания

var a='блаблабла ТЕЕГИ ТЕКСТ, РАМКИ ЦВЕТА, Текст, Теги,';
document.write(a);
надеялся, что после выполнения
view->page()->mainFrame()->evaluateJavaScript(
          view->page()->mainFrame()->toPlainText()
                     ); 
S =  view->page()->mainFrame().toHtml();
В S останется текст.Но нет. В S пустота.

vsrmis
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.