问题描述
我是Qt的新手。
我正在构建控制台应用程序,并且需要处理大量现实世界的html页面。 QtWebkit是一个容易选择的选择,因为它的API明确易懂且易于获得。
I am building a console application and I need to process lot of real world html pages. QtWebkit comes as an easy choice because of clearly cut APIs and easy availability.
我签出了文档,他们说我可以使用QWebView :: load( )。但是我正在构建控制台应用程序,因此无法使用小部件。我收到如下错误:
?
I checked out the docs and they say that I can load pages by using QWebView::load(). But I am building a console application and I cannot use a widget. I get the error as:?
QWidget: Cannot create a QWidget when no GUI is being used
The program has unexpectedly finished.
所以我如何在控制台应用程序中使用QtWebkit处理html页面。
So how can I process the html pages using QtWebkit in console application.
推荐答案
QtWebkit可以在无小部件的环境中使用,但不能与QCoreApplication一起执行。
QtWebkit can be used in a widget-less environment, but can't be executed with QCoreApplication.
解决方案是使用伪造的X服务器执行程序。
The solution is to use a fake X server to execute the program.
安装Xvfb,然后:
xvfb-run --server-args="-screen 0 1024x768x24" ./framecapture google.cat google.png
PD:使用文档中的framecapture Webkit示例:
PD: Using framecapture Webkit example from docs: http://doc.qt.io/archives/qt-4.7/webkit-framecapture.html
这篇关于QtWebkit:控制台应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!