En esta página

Despliegue de aplicaciones Qt WebEngine

La forma de empaquetar y desplegar aplicaciones varía según el sistema operativo. Para Windows y macOS, windeployqt y macdeployqt automatizan los pasos para generar un paquete de aplicación independiente.

Cuando se despliegan manualmente aplicaciones que dependen de Qt WebEngine, deben incluirse todos los archivos necesarios para ejecutar la aplicación: bibliotecas, importaciones QML, plugins y traducciones.

Para obtener más información, consulte Despliegue de aplicaciones Qt.

Plataformas de destino

Qt WebEngine intenta soportar todas las Supported Platforms de Qt. Sin embargo, debido a los diferentes requisitos de Chromium esto no siempre es posible. Las limitaciones conocidas son:

  • Qt WebEngine actualmente sólo soporta Windows, Linux y macOS.
  • En Windows, Qt WebEngine sólo soporta Windows Vista o posterior como plataforma de destino. Debido al uso de una API más reciente en Chromium, Windows XP no es compatible. WinRT tampoco es compatible.
  • En Windows, se necesita la versión 14.28 o superior de Visual C++ Redistributable para ejecutar las aplicaciones Qt WebEngine.

Despliegue manual de aplicaciones

Cuando se despliegan manualmente aplicaciones que dependen de Qt WebEngine, puede ser necesario desplegar los siguientes archivos:

  • Bibliotecas
  • importaciones QML
  • Qt WebEngine proceso
  • Recursos
  • Traducciones
  • Códecs de audio y vídeo

Despliegue de bibliotecas

Las siguientes bibliotecas deben desplegarse con aplicaciones que dependan de Qt WebEngine:

Importación de QML

Si se utiliza la integración Qt Quick en la aplicación, es necesario desplegar el directorio de importación QtWebEngine.

Despliegue de procesos Qt WebEngine

Qt WebEngine aprovecha el modelo multiproceso que ofrece el proyecto Chromium. El modelo multiproceso requiere que el ejecutable del proceso Qt WebEngine se despliegue junto con la aplicación.

El proceso WebEngine se ejecuta para cada instancia QWebEngineView o WebEngineView. Por ejemplo, una aplicación de navegador con dos pestañas abiertas debería tener dos instancias separadas del proceso ejecutándose. Este es un enfoque común utilizado por la mayoría de los motores web modernos para proporcionar una experiencia de navegación estable.

En tiempo de ejecución, Qt WebEngine busca el ejecutable QtWebEngineProcess en el directorio que devuelve QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath). Para instalaciones Qt, esto es QTDIR/libexec (Linux) o QTDIR\bin (Windows). La ruta puede cambiarse definiendo un archivo qt.conf, por ejemplo. Alternativamente, se puede establecer una ruta ejecutable como valor de la variable de entorno QTWEBENGINEPROCESS_PATH. En macOS, Qt WebEngine busca el ejecutable en .app/Helpers/QtWebEngineProcess.

Despliegue de recursos

Qt WebEngine requiere los siguientes archivos de recursos:

  • qtwebengine_resources.pak contiene los recursos que necesita Chromium.
  • qtwebengine_devtools_resources.pak contiene herramientas para la depuración remota.
  • qtwebengine_resources_100p.pak contiene imágenes adecuadas para pantallas de baja resolución.
  • qtwebengine_resources_200p.pak contiene imágenes adecuadas para pantallas de alta resolución.
  • icudtl.dat proporciona soporte para International Components for Unicode (ICU). Es la versión de Chromium de ICU, que no es necesaria si Qt WebEngine se configuró para utilizar ICU del sistema.
  • v8_context_snapshot.bin contiene una instantánea previamente preparada de un contexto v8 que se utiliza para acelerar la inicialización. Las compilaciones de depuración utilizan instantáneas separadas con la extensión de nombre de archivo .debug.bin en lugar de .bin. En macOS, hay una instantánea para cada arquitectura con el nombre correspondiente, por ejemplo v8_context_snapshot.arm64.bin o v8_context_snapshot.arm64.debug.bin.

Los recursos se buscan en las siguientes ubicaciones:

Alternativamente, se puede establecer una ruta de directorio de recursos como valor de la variable de entorno QTWEBENGINE_RESOURCES_PATH, o a través de la línea de comandos:

--webEngineArgs --webengine-resources-path=<path>

Cuando se establece una anulación, la aplicación busca recursos sólo dentro del directorio proporcionado, y en ningún otro lugar.

Traducciones

Los datos de localización (como en-US.pak) se buscan en las siguientes ubicaciones:

  • En macOS: .app/Content/Resources
  • En Linux y Windows: qtwebengine_locales directorio en el directorio especificado por QLibraryInfo::location(QLibraryInfo::TranslationsPath)

Alternativamente, se puede establecer una ruta de directorio de locales como valor de la variable de entorno QTWEBENGINE_LOCALES_PATH, o a través de la línea de comandos:

--webEngineArgs --webengine-locales-path=<path>

Cuando se establece un valor, la aplicación busca locales sólo dentro del directorio proporcionado, y en ningún otro lugar.

Archivos JavaScript en archivos de recursos Qt

Si la aplicación WebEngine se compila con el compilador Qt Quick, y la aplicación incluye archivos JavaScript en los recursos .qrc, y se supone que estos archivos se cargan desde las páginas HTML, asegúrese de especificar los archivos de recursos en una variable qmake QTQUICK_COMPILER_SKIPPED_RESOURCES dentro del proyecto. Esto evita que el compilador Qt Quick intente generar código C++ para el código JavaScript correspondiente, así como que elimine el código JavaScript original del archivo de recursos Qt, lo que daría lugar a páginas HTML rotas. Por ejemplo

QTQUICK_COMPILER_SKIPPED_RESOURCES += resources/my_resource.qrc

Pasos específicos de despliegue en macOS

Para desplegar una aplicación Qt WebEngine en macOS, deberá asegurarse de que el proceso Qt WebEngine esté firmado con un archivo de derechos que contenga al menos los derechos enumerados en QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/Resources/QtWebEngineProcess.entitlements.

Para desplegar una aplicación Qt WebEngine que acceda al micrófono o a la cámara en macOS, tendrás que proporcionar textos para los mensajes que se mostrarán al usuario para explicar por qué la aplicación pide permiso para acceder a la cámara o al micrófono. Para ello, añada los textos al archivo Info.plist de la aplicación utilizando las claves que se describen a continuación.

Para el mensaje de uso de la cámara, proporcione un texto utilizando la siguiente clave:

<key>NSCameraUsageDescription</key>
<string>Your message text for camera usage.</string>

Consulte también la documentación del archivo de lista de propiedades de Apple.

Para el mensaje de uso del micrófono, proporcione un texto utilizando la siguiente clave:

<key>NSMicrophoneUsageDescription</key>
<string>Your message text for microphone usage.</string>

Consulte también la documentación del archivo de lista de propiedades de Apple.

Para notarizar una aplicación que accede a la cámara o al micrófono, deberá añadir las claves correspondientes al archivo de derechos de su aplicación utilizado para la implementación y la notarización.

Para habilitar el acceso a la cámara, añada:

<key>com.apple.security.device.camera</key>
<true/>

Consulte también la documentación sobre derechos de cámara de Apple.

Para habilitar el acceso al micrófono, añada:

<key>com.apple.security.device.microphone</key>
<true/>

Consulte también la documentación sobre derechos del micrófono de Apple.

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