6

ドキュメント (少なくとも PyQt) にQWebViewは、「QWebView クラスは、Web ドキュメントの表示と編集に使用されるウィジェットを提供します」とありますが、QWebPage「QWebPage クラスは、Web ドキュメントの表示と編集にオブジェクトを提供します」とあります。これらが事実上同じことを意味することを考えると:

  • これら 2 つのクラスが進化した歴史的な理由はありますか?
  • 特定の状況で、一方を他方よりも使用する方が優れていますか?

(これは、私が PyQt アプリケーションに埋め込まれた JavaScript ライブラリを使用しているという事実に由来します。私は現在 を使用していますが、 javascript エラーをキャッチするメソッドQWebViewしか持っていないため、代わりにコードをサブクラスに変換する価値があるかどうかを検討していました)QWebPageQwebPage

4

2 に答える 2

7

ドキュメントからそれは言う

QWebPage は、Web コンテンツ、設定、ナビゲートされたリンクとアクションの履歴を担当するメイン フレームを保持します。このクラスを QWebFrame と一緒に使用して、ウィジェットのない環境で QWebView のような機能を提供できます。

からもQWebView継承しますが、継承QWidgetQWebPageません。

したがって、ビューの有無にかかわらず使用できるQWebView一方で、HTML を読み込んで表示できるウィジェットにすぎないと思います。QWebPageまたQWebPage、ナビゲーションの設定や履歴など、より多くの機能があります。

ウィジェットのない環境は、たとえばQtCore.QCoreApplication.

QWebPageたとえば、Web コンテンツをスクレイピングするためのアプリケーションを作成するときに使用するようですがQWebView、アプリケーションのどこかに Web コンテンツをロードして表示したいだけの場合に適しています。QWebViewウィジェットであることは常に何かを表示したいと思うでしょう。

歴史的には、どちらも Qt 4.4 で導入されました。

未解決の質問は、彼らが内部でどれだけ共有しているか、そしてあなたができない、またはエミュレートできない何かがあるかどうQWebViewQWebPageです。

于 2014-06-24T09:31:22.963 に答える