本文介绍了QtWebkit:控制台应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是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:控制台应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-28 20:19