6

私はQtが初めてです。

私はコンソール アプリケーションを構築しており、多くの実際の html ページを処理する必要があります。QtWebkit は、明確にカットされた API と簡単に利用できるため、簡単な選択です。

ドキュメントをチェックアウトしたところ、QWebView::load() を使用してページをロードできると書かれています。しかし、コンソール アプリケーションを作成していて、ウィジェットを使用できません。次のようなエラーが表示されます。

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

では、コンソール アプリケーションで QtWebkit を使用して html ページを処理するにはどうすればよいでしょうか。

4

2 に答える 2

9

QtWebkit はウィジェットのない環境で使用できますが、QCoreApplication では実行できません。

解決策は、偽の 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

于 2011-05-18T08:05:38.690 に答える
6

QWebPageウィジェットのない環境で使用できます。

ページをロードするには、次のようにします

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

DOM ツリーにアクセスするには、QWebFrame::documentElement(). これを使用する方法については、 APIを参照してください。

于 2010-08-20T09:28:07.787 に答える