En esta página

Los cambios introducidos en Qt WebEngine

Qt 6 son el resultado del esfuerzo consciente por hacer el framework más eficiente y fácil de usar.

Intentamos mantener la compatibilidad binaria y de código fuente de todas las API públicas en cada versión. Pero algunos cambios eran inevitables en un esfuerzo por hacer de Qt un framework mejor.

En este tema resumimos esos cambios en Qt WebEngine, y proporcionamos una guía para manejarlos.

Clases movidas

El módulo Qt WebEngine

ha sido renombrado al módulo Qt WebEngineQuick para no colisionar con el nombre del supermódulo, y para ser consistente con otros módulos Quick.

Si portas tu aplicación Qt Quick, por favor recuerda usar el nuevo nombre del módulo en tu archivo de proyecto qmake.

QT += webenginequick

Clases trasladadas de Qt WebEngineWidgets a Qt WebEngineCore

Se han movido varias clases de Qt WebEngineWidgets a Qt WebEngineCore si no utilizaban el módulo Widgets. En la mayoría de los casos este cambio debería ser compatible con el código fuente a menos que hayas incluido el nombre del módulo en la cabecera del include, en cuyo caso necesitarás actualizar tus includes.

Clases trasladadas con cambios mínimos

QWebEngineCertificateError

Ha sido unificado entre las versiones QML y C++, por lo que ahora ambos son aceptados o rechazados a través de métodos en la clase.

QWebEngineContextMenuData

Se ha movido a Core y renombrado QWebEngineContextMenuRequest.

QWebEngineDownloadItem

Se ha trasladado a Core y se ha renombrado QWebEngineDownloadRequest.

QWebEnginePage

Se ha movido a Core, y la API que funcionaba en QWebEngineView o QPrinter se ha movido, y ahora sólo se puede acceder desde QWebEngineView. Ver API cambiada.

Clases trasladadas de Qt WebEngineQuick a Qt WebEngineCore

WebEngineNavigationRequest

Ahora es QWebEngineNavigationRequest, y accesible también desde la API de C++, añadiendo una variante más informativa de QWebEnginePage::acceptNavigationRequest().

WebEngineNewViewRequest

Ahora WebEngineNewWindowRequest y QWebEngineNewWindowRequest, y accesible también desde la API de C++, añadiendo una variante más informativa de QWebEnginePage::createWindow().

API modificada

C++

QWebEnginePage::certificateError()

es ahora una señal en lugar de un método derivado. Los errores se aceptan o rechazan mediante métodos de la clase QWebEngineCertificateError.

QWebEnginePage::print()

Se ha movido a QWebEngineView::print() y ya no toma un argumento de callback sino que en su lugar señala finalizado con QWebEngineView::printFinished(). Nunca fue posible tener dos trabajos de impresión activos al mismo tiempo.

QWebEnginePage::view()

Se ha eliminado ya que QWebEnginePage y QWebEngineView se encuentran ahora en módulos diferentes. Se puede acceder a la vista asociada a una página utilizando el ayudante estático QWebEngineView::forPage().

QWebEngineProfile::defaultProfile()

Se ha eliminado. El perfil por defecto es ahora un perfil off-the-record, y sólo se utiliza si se crea un QWebEnginePage sin un perfil explícito. Para mantener un comportamiento similar al de Qt 5, cree un perfil global llamado "Default" y utilícelo al crear cada QWebEnginePage.

QML

WebEngineNavigationRequest

Las peticiones de navegación son ahora aceptadas o rechazadas como otros objetos de petición usando los métodos accept() o reject().

WebEngineNewViewRequest

Se ha renombrado WebEngineNewWindowRequest.

Comportamiento modificado

Perfil por defecto

El perfil por defecto está ahora fuera de registro. Para tener un perfil de navegador estándar con caché de disco y cookies, recomendamos crear un perfil propio y utilizarlo explícitamente.

Esquema QRC

Ya no se puede acceder desde esquemas personalizados por defecto, ni se puede acceder directamente al contenido local. Si se necesita el comportamiento de Qt 5, puede restaurarse registrando el esquema qrc como un esquema URL personalizado, y estableciendo los indicadores de acceso CorsEnabled y LocalAccessAllowed.

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

Comprobación de revocación de certificados OCSP

En Qt 5 OCSP podía ser habilitado en Linux usando QWebEngineProfile::setUseForGlobalCertificateVerification(true) en QWebEngineProfile. Esto ha sido eliminado en Qt6 ya que esta forma específica de OCSP es considerada mala. A partir de Qt 6.2, aún no se ha añadido ningún método nuevo para la comprobación de certificados revocados en Linux.

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