Sur cette page

Les changements apportés à Qt WebEngine

Qt 6 est le résultat d'un effort conscient pour rendre le cadre plus efficace et plus facile à utiliser.

Nous essayons de maintenir la compatibilité binaire et source pour toutes les API publiques dans chaque version. Mais certains changements étaient inévitables dans un effort pour faire de Qt un meilleur framework

Dans cette rubrique, nous résumons ces changements dans Qt WebEngine, et fournissons des conseils pour les gérer.

Classes déplacées

Le module Qt WebEngine

a été renommé en module Qt WebEngineQuick pour ne pas entrer en conflit avec le nom du super module, et pour être cohérent avec les autres modules Quick.

Si vous portez votre application Qt Quick, n'oubliez pas d'utiliser le nouveau nom du module dans votre fichier de projet qmake.

QT += webenginequick

Classes déplacées de Qt WebEngineWidgets à Qt WebEngineCore

Plusieurs classes ont été déplacées de Qt WebEngineWidgets à Qt WebEngineCore si elles n'utilisaient pas le module Widgets. Dans la plupart des cas, ce changement devrait être compatible avec les sources, sauf si vous avez inclus le nom du module dans l'en-tête de l'inclusion, auquel cas vous devez mettre à jour vos inclusions.

Classes déplacées avec des changements minimes

QWebEngineCertificateError (erreur de certificat)

a été unifié entre les versions QML et C++, de sorte que les deux sont maintenant acceptés ou rejetés via des méthodes sur la classe.

QWebEngineContextMenuData

A été déplacé dans Core et renommé QWebEngineContextMenuRequest.

QWebEngineDownloadItem

A été déplacé vers Core et renommé QWebEngineDownloadRequest.

QWebEnginePage

a été déplacé vers Core, et l'API qui fonctionnait sur QWebEngineView ou QPrinter a été déplacée, et n'est désormais accessible qu'à partir de QWebEngineView. Voir API modifiée.

Classes déplacées de Qt WebEngineQuick à Qt WebEngineCore

WebEngineNavigationRequest

Est maintenant QWebEngineNavigationRequest, et accessible à partir de l'API C++ également, en ajoutant une variante plus informative de QWebEnginePage::acceptNavigationRequest().

WebEngineNewViewRequest

Est maintenant WebEngineNewWindowRequest et QWebEngineNewWindowRequest, et accessible à partir de l'API C++, en ajoutant une variante plus informative de QWebEnginePage::createWindow().

API modifiée

C++

QWebEnginePage::certificateError()

est maintenant un signal au lieu d'une méthode dérivée. Les erreurs sont acceptées ou rejetées via les méthodes de la classe QWebEngineCertificateError.

QWebEnginePage::print()

a été déplacée vers QWebEngineView::print() et ne prend plus d'argument de rappel, mais signale la fin de l'opération avec QWebEngineView::printFinished(). Il n'a jamais été possible d'avoir deux travaux d'impression actifs en même temps.

QWebEnginePage::view()

a été supprimée car QWebEnginePage et QWebEngineView se trouvent maintenant dans des modules différents. La vue associée à une page peut être accédée en utilisant l'aide statique QWebEngineView::forPage().

QWebEngineProfile::defaultProfile()

a été supprimée. Le profil par défaut est maintenant un profil non enregistré, et n'est utilisé que si une page QWebEnginePage est créée sans profil explicite. Pour conserver un comportement similaire à celui de Qt XML, créez un profil global appelé "Default" et utilisez-le lors de la création de chaque QWebEnginePage.

QML

WebEngineNavigationRequest

Les demandes de navigation sont désormais acceptées ou rejetées comme les autres objets de demande à l'aide des méthodes accept() ou reject().

WebEngineNewViewRequest

A été renommé WebEngineNewWindowRequest.

Comportement modifié

Profil par défaut

Le profil par défaut n'est plus enregistré. Pour avoir un profil de navigateur standard avec cache disque et cookies, nous vous recommandons de créer votre propre profil et de l'utiliser explicitement.

Schéma QRC

Il n'est plus possible d'accéder aux schémas personnalisés par défaut, et il n'est plus possible d'accéder directement au contenu local. Si le comportement de Qt 5 est nécessaire, il peut être restauré en enregistrant le schéma qrc comme un schéma d'URL personnalisé, et en définissant les drapeaux d'accès CorsEnabled et LocalAccessAllowed.

QWebEngineUrlScheme qrcScheme(QByteArrayLiteral("qrc"));
qrcScheme.setFlags(QWebEngineUrlScheme::SecureScheme
                   | QWebEngineUrlScheme::LocalAccessAllowed
                   | QWebEngineUrlScheme::CorsEnabled
                   | QWebEngineUrlScheme::ViewSourceAllowed);
QWebEngineUrlScheme::registerScheme(qrcScheme);

Vérification de la révocation des certificats OCSP

Dans Qt 5, OCSP pouvait être activé sur Linux en utilisant QWebEngineProfile::setUseForGlobalCertificateVerification(true) sur une page QWebEngineProfile. Cela a été supprimé dans Qt6 car cette forme spécifique d'OCSP est considérée comme mauvaise. Depuis Qt 6.2, aucune nouvelle méthode de vérification des certificats révoqués sous Linux n'a été ajoutée.

© 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.