QtWebkit:控制台应用程序

时间:2010-08-20 03:54:56

标签: qt console-application qtwebkit

我是Qt的新手。

我正在构建一个控制台应用程序,我需要处理很多真实世界的HTML页面。 QtWebkit是一个简单的选择,因为它有明确的API和易用性。

我检查了文档,他们说我可以使用QWebView :: load()加载页面。但我正在构建一个控制台应用程序,我无法使用小部件。我得到的错误是: ?

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

那么如何在控制台应用程序中使用QtWebkit处理html页面。

2 个答案:

答案 0 :(得分:9)

QtWebkit可以在无小部件的环境中使用,但不能用QCoreApplication执行。

解决方案是使用虚假的X服务器来执行程序。

安装Xvfb,然后:

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

PD:使用docs:http://doc.qt.io/archives/qt-4.7/webkit-framecapture.html

中的framecapture Webkit示例

答案 1 :(得分:6)

QWebPage可以在无小部件的环境中使用。

要加载页面,请执行以下操作

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

要访问DOM树,您可以使用QWebFrame::documentElement()。有关如何使用此功能,请参阅API