Вопрос

Я новичок в Qt.

Я создаю приложение консоли, и мне нужно обработать много реальных мировых HTML-страниц. QTWebkit поставляется в виде легкого выбора из-за четко сокращения API и легкой доступности.

Я проверил документы, и они говорят, что я могу загружать страницы с помощью QWebView :: Load (). Но я создаю приложение консоли, и я не могу использовать виджет. Я получаю ошибку как:?

QWidget: Cannot create a QWidget when no GUI is being used
The program has unexpectedly finished.

Так как я могу обработать HTML-страницы с помощью QTWebkit в консольном приложении.

Это было полезно?

Решение

QTWebkit можно использовать в среде виджета, но не может быть выполнена с помощью QCOREAP.

Решение состоит в том, чтобы использовать поддельный X-сервер для выполнения программы.

Установите XVFB, а затем:

xvfb-run --server-args="-screen 0 1024x768x24" ./framecapture google.cat google.png

PD: Использование примера FramEcapture WebKit пример от документов: http://doc.qt.io/archives/qt-4.7/webkit-frameCapture.html.

Другие советы

QWebPage Может быть использован в среде виджета.

Загрузить страницу, сделайте что-нибудь подобное

QWebPage page;
QUrl url = ...;
page.mainFrame()->load(url);

Чтобы получить доступ к дереву DOM, вы можете использовать QWebFrame::documentElement(). Отказ Увидеть API. Для того, как использовать это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top