qt console-application qtwebkit

QtWebkit: aplicación de consola



console-application (2)

Soy nuevo en Qt.

Estoy construyendo una aplicación de consola y necesito procesar gran cantidad de páginas html del mundo real. QtWebkit es una elección fácil debido a las API claramente eliminadas y la fácil disponibilidad.

Revisé los documentos y dicen que puedo cargar páginas usando QWebView :: load (). Pero estoy construyendo una aplicación de consola y no puedo usar un widget. Me sale el error como:?

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

Entonces, ¿cómo puedo procesar las páginas html usando QtWebkit en la aplicación de la consola?


QWebPage se puede usar en un entorno sin widgets.

Para cargar una página, haz algo como esto

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

Para obtener acceso al árbol DOM, puede usar QWebFrame::documentElement() . Consulte la API para saber cómo usar esto.


QtWebkit se puede usar en un entorno sin widgets, pero no se puede ejecutar con QCoreApplication.

La solución es usar un servidor X falso para ejecutar el programa.

Instala Xvfb y luego:

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

PD: Usando el ejemplo de WebCit de framecapture de docs: http://doc.qt.io/archives/qt-4.7/webkit-framecapture.html