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
- QWebEngineHistory
- QWebEngineProfile
- QWebEngineScript
- QWebEngineScriptCollection
- QWebEngineClientCertificateSelection
- QWebEngineSettings
- QWebEngineFullScreenRequest
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.