Qtwebkit: консольное приложение
-
30-09-2019 - |
Вопрос
Я новичок в 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. Для того, как использовать это.