Qt WebView
Qt WebView では、QMLアプリケーション内でWebコンテンツを表示することができます。Webブラウザのスタック全体を含めることを避けるため、Qt WebView は適切な場面でネイティブAPIを使用します。
これは、AndroidやiOS などのモバイルプラットフォームで役立ちます。iOS では、ポリシーにより、すべての Web コンテンツはオペレーティングシステムの Web ビューを使用して表示されることが定められています。
Windows では、Qt WebView はコンテンツのレンダリングに Qt WebEngine モジュールとWebView2の両方を使用してコンテンツをレンダリングできます。
Linux では、Qt WebView はコンテンツのレンダリングに Qt WebEngine モジュールに依存してコンテンツをレンダリングします。
macOS では、iOS と同様にシステムの Web ビューが使用されます。
前提条件
Qt XMLWebView モジュールがすべてのプラットフォームで正しく機能させるには、 QtWebView::initialize() を呼び出す必要があります。 QGuiApplication インスタンスを作成する前、およびウィンドウのQPlatformOpenGLContext が作成される前に、` `を呼び出す必要があります。
モジュールの使用方法
QML API
このモジュールの QML 型は、QtWebView インポートを通じて利用できます。これらの型を使用するには、.qml ファイルに次のインポート文を追加してください:
import QtWebViewC++ 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コンポーネントと重ねて配置することはサポートされていません。これを行うと予期しない結果が生じ、プラットフォームごとに異なる動作となる可能性があります。 また、アプリケーションは、WebView 内のイベントがQtのイベント配信システムに伝播することを期待することはできません。例えば、特定のイベントを処理するためにWebView の上に非表示のアイテムを「重ねる」ことや、親アイテムでWebView が処理しないイベントを処理することはできません。
例
アプリケーションでの API の使用方法については、『Qt WebView Examples』を参照してください。
リファレンス
ライセンス
Qt WebView は、The Qt Company から商用ライセンスで提供されています。また、GNU Lesser General Public License バージョン 3 またはGNU General Public License バージョン 2 の下でも利用可能です。詳細については、「Qt ライセンス」を参照してください。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.