Qt WebView

Qt WebView を使うと、QML アプリケーション内に Web コンテンツを表示することができます。Qt WebView は、完全な Web ブラウザスタックを含むことを避けるため、適切な場合にはネイティブ API を使用します。

これはAndroidiOS のようなモバイルプラットフォームでは便利です。iOS では、ポリシーにより、すべての Web コンテンツはオペレーティングシステムの Web ビューを使用して表示されます。

Windows と Linux では、Qt WebView はQt WebEngineモジュールに依存してコンテンツをレンダリングします。

macOS では、iOS と同様にシステム Web ビューが使用されます。

前提条件

QtWebView モジュールをすべてのプラットフォームで正しく機能させるためには、Qt WebView を作成する前に QtWebView::initialize()インスタンスを作成する前に QGuiApplicationインスタンスを作成する前と、window のQPlatformOpenGLContext が作成される前に呼び出す必要があります。

モジュールの使用

QML API

モジュールの QML 型はQtWebView import から利用できます。この型を使用するには、.qml ファイルに以下の import 文を追加してください:

import QtWebView

C++ API

Qt モジュールの C++ API を使用するには、モジュールライブラリを直接リンクするか、他の依存関係を通 してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。

CMake でのビルド

find_package() コマンドを使用して、必要なモジュール・コンポーネントをQt6 パッケージから探します:

find_package(Qt6 REQUIRED COMPONENTS WebView)
target_link_libraries(mytarget PRIVATE Qt6::WebView)

詳細については、CMakeによるビルドの概要を参照してください。

qmakeでのビルド

qmakeでビルドするようにモジュールを設定するには、プロジェクトの.proファイルにQT 変数の値としてモジュールを追加します:

QT += webview

制限事項

プラットフォームの制限により、WebView を他の QML コンポーネントとオーバーラップさせることはサポートされていません。他のQMLコンポーネントとオーバーラップさせることはサポートされていません。また、WebView のイベントが Qt のイベントデリバリーシステムに伝搬されることもありません。例えば、WebView の上に不可視のアイテムを "オーバーレイ "して特定のイベントを処理したり、WebView が親アイテムで処理しないイベントを処理したりすることはできません。

Qt WebView Examplesで、APIがアプリケーションでどのように使用できるかをデモしています。

リファレンス

ライセンス

Qt WebView はThe Qt Company の商用ライセンスで利用可能です。また、GNU Lesser General Public License, version 3 またはGNU General Public License, version 2 の下でも利用可能です。詳細はQt ライセンスを参照してください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。