変更点Qt WebEngine
Qt 6 は、フレームワークをより効率的で使いやすくするための意識的な努力の結果です。
私たちは各リリースにおいて、すべてのパブリック API のバイナリとソースの互換性を維持しようと努めています。しかし、Qt をより良いフレームワークにするために避けられない変更もあります。
このトピックでは、QtWebEngine におけるそれらの変更点を要約し、それらを扱うためのガイダンスを提供します。
移動したクラス
Qt WebEngine モジュール
Qt WebEngineQuick モジュールに名前が変更されました。これは、スーパーモジュールの名前と衝突しないようにするためと、他の Quick モジュールと一貫性を持たせるためです。
Qt Quick アプリケーションを移植する場合は、qmake プロジェクトファイルで新しいモジュール名を使用することを忘れないでください。
QT += webenginequick
Qt WebEngineWidgets から Qt WebEngineCore へのクラスの移動
いくつかのクラスが Qt WebEngineWidgets から Qt WebEngineCore に移動されました。ほとんどの場合、インクルードヘッダーにモジュール名が含まれていなければ、この変更はソース互換性があります。
最小限の変更で移動したクラス
- QWebEngineHistory
- QWebEngineProfile
- QWebEngineScript
- QWebEngineScriptCollection
- QWebEngineClientCertificateSelection
- QWebEngineSettings
- QWebEngineFullScreenRequest
QWebEngineCertificateError
QML 版と C++ 版でエラーが統一され、クラスのメソッドでエラーの受け付け/拒否ができるようになりました。
QWebEngineContextMenuData
Core に移動され、QWebEngineContextMenuRequest という名前に変更されました。
QWebEngineDownloadItem
Core に移動され、名前がQWebEngineDownloadRequest に変更されました。
QWebEnginePage
Core に移動され、QWebEngineView またはQPrinter で動作していた API は移動され、QWebEngineView からのみアクセスできるようになりました。 変更された API を参照してください。
Qt WebEngineQuick から Qt WebEngineCore に移動したクラス
WebEngineNavigationRequest
がQWebEngineNavigationRequest に変更され、C++ API からもアクセスできるようになり、より情報量の多いQWebEnginePage::acceptNavigationRequest() が追加されました。
WebEngineNewViewRequest
WebEngineNewWindowRequest QWebEnginePage::createWindow および が追加され、C++ API からもアクセスできるようになりました。QWebEngineNewWindowRequest
変更された API
C++
QWebEnginePage::certificateError()
派生メソッドの代わりにシグナルになりました。エラーは、QWebEngineCertificateError クラスのメソッドによって受理または拒否されます。
QWebEnginePage::print()
QWebEngineView::print() に移動し、コールバック引数を受け取らなくなりましたが、代わりにQWebEngineView::printFinished() で終了を知らせるようになりました。同時に 2 つのアクティブな印刷ジョブを持つことはできませんでした。
QWebEnginePage::view()
QWebEnginePage とQWebEngineView が異なるモジュールになったため、削除されました。ページに関連付けられたビューには、静的ヘルパーQWebEngineView::forPage() を使用してアクセスできます。
QWebEngineProfile::defaultProfile() が削除されました。
が削除されました。デフォルトのプロファイルは記録外のプロファイルになり、明示的なプロファイルなしでQWebEnginePage が作成された場合にのみ使用されます。Qt 5 のような動作を維持するには、"Default" というグローバルプロファイルを作成し、すべてのQWebEnginePage を作成するときにそれを使用してください。
QML
WebEngineNavigationRequest
ナビゲーションリクエストは、他のリクエストオブジェクトと同様に accept() メソッドや reject() メソッドを使って受け付けたり拒否したりできるようになりました。
WebEngineNewViewRequest
WebEngineNewWindowRequest という名前に変更されました。
変更された動作
デフォルトプロファイル
デフォルトのプロファイルは記録されなくなりました。ディスクキャッシュやクッキーを含む標準的なブラウザのプロファイルを使用するには、独自のプロファイルを作成し、それを明示的に使用することをお勧めします。
QRCスキーム
デフォルトではカスタムスキームからアクセスできなくなり、ローカルコンテンツに直接アクセスすることもできなくなりました。Qt 5 の動作が必要な場合は、qrc スキームをカスタム URL スキームのように登録し、CorsEnabled と LocalAccessAllowed のアクセスフラグを設定することで元に戻すことができます。
QWebEngineUrlScheme qrcScheme(QByteArrayLiteral("qrc")); qrcScheme.setFlags(QWebEngineUrlScheme::SecureScheme | QWebEngineUrlScheme::LocalAccessAllowed | QWebEngineUrlScheme::CorsEnabled | QWebEngineUrlScheme::ViewSourceAllowed); QWebEngineUrlScheme::registerScheme(qrcScheme);
OCSP 証明書の失効チェック
Qt 5 では、QWebEngineProfile::setUseForGlobalCertificateVerification(true) を使用して、Linux 上で OCSP を有効にすることができました(QWebEngineProfile)。 Qt6 では、この特定の形式の OCSP は良くないと考えられているため、これは削除されました。Qt 6.2 では、Linux で失効した証明書をチェックする新しいメソッドはまだ追加されていません。
© 2025 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.