En esta página

QWebEnginePage Class

La clase QWebEnginePage proporciona un objeto para ver y editar documentos web. Más...

Cabecera: #include <QWebEnginePage>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
Hereda: QObject

Tipos públicos

enum FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple, FileSelectUploadFolder, FileSelectSave }
enum FindFlag { FindBackward, FindCaseSensitively }
flags FindFlags
enum JavaScriptConsoleMessageLevel { InfoMessageLevel, WarningMessageLevel, ErrorMessageLevel }
enum class LifecycleState { Active, Frozen, Discarded }
enum NavigationType { NavigationTypeLinkClicked, NavigationTypeTyped, NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, …, NavigationTypeOther }
enum RenderProcessTerminationStatus { NormalTerminationStatus, AbnormalTerminationStatus, CrashedTerminationStatus, KilledTerminationStatus }
enum WebAction { NoWebAction, Back, Forward, Stop, Reload, …, ChangeTextDirectionRTL }
enum WebWindowType { WebBrowserWindow, WebBrowserTab, WebDialog, WebBrowserBackgroundTab }

Propiedades

Funciones públicas

QWebEnginePage(QObject *parent = nullptr)
QWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr)
virtual ~QWebEnginePage()
QAction *action(QWebEnginePage::WebAction action) const
QColor backgroundColor() const
QSizeF contentsSize() const
(since 6.6) QString devToolsId() const
QWebEnginePage *devToolsPage() const
void download(const QUrl &url, const QString &filename = QString())
(since 6.8) std::optional<QWebEngineFrame> findFrameByName(QAnyStringView name)
void findText(const QString &subString, QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> &resultCallback = std::function<void(const QWebEngineFindTextResult &)>())
bool hasSelection() const
QWebEngineHistory *history() const
QIcon icon() const
QUrl iconUrl() const
QWebEnginePage *inspectedPage() const
bool isAudioMuted() const
bool isLoading() const
bool isVisible() const
QWebEnginePage::LifecycleState lifecycleState() const
void load(const QUrl &url)
void load(const QWebEngineHttpRequest &request)
(since 6.8) QWebEngineFrame mainFrame()
void printToPdf(const QString &filePath, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})
void printToPdf(const std::function<void (const QByteArray &)> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})
QWebEngineProfile *profile() const
bool recentlyAudible() const
QWebEnginePage::LifecycleState recommendedState() const
qint64 renderProcessPid() const
void replaceMisspelledWord(const QString &replacement)
QUrl requestedUrl() const
void runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback)
void runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {})
void save(const QString &filePath, QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::MimeHtmlSaveFormat) const
QWebEngineScriptCollection &scripts()
QPointF scrollPosition() const
QString selectedText() const
void setAudioMuted(bool muted)
void setBackgroundColor(const QColor &color)
void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
void setDevToolsPage(QWebEnginePage *devToolsPage)
void setHtml(const QString &html, const QUrl &baseUrl = QUrl())
void setInspectedPage(QWebEnginePage *page)
void setLifecycleState(QWebEnginePage::LifecycleState state)
void setUrl(const QUrl &url)
void setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
void setVisible(bool visible)
void setWebChannel(QWebChannel *channel, quint32 worldId = 0)
void setZoomFactor(qreal factor)
QWebEngineSettings *settings() const
QString title() const
void toHtml(const std::function<void (const QString &)> &resultCallback) const
void toPlainText(const std::function<void (const QString &)> &resultCallback) const
virtual void triggerAction(QWebEnginePage::WebAction action, bool checked = false)
QUrl url() const
QWebChannel *webChannel() const
qreal zoomFactor() const

Funciones públicas reimplementadas

virtual bool event(QEvent *e) override

Señales

void audioMutedChanged(bool muted)
void authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator)
void certificateError(const QWebEngineCertificateError &certificateError)
void contentsSizeChanged(const QSizeF &size)
(since 6.7) void desktopMediaRequested(const QWebEngineDesktopMediaRequest &request)
(since 6.4) void fileSystemAccessRequested(QWebEngineFileSystemAccessRequest request)
void findTextFinished(const QWebEngineFindTextResult &result)
void fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest)
void geometryChangeRequested(const QRect &geom)
void iconChanged(const QIcon &icon)
void iconUrlChanged(const QUrl &url)
void lifecycleStateChanged(QWebEnginePage::LifecycleState state)
void linkHovered(const QString &url)
void loadFinished(bool ok)
void loadProgress(int progress)
void loadStarted()
(since 6.2) void loadingChanged(const QWebEngineLoadingInfo &loadingInfo)
(since 6.2) void navigationRequested(QWebEngineNavigationRequest &request)
(since 6.2) void newWindowRequested(QWebEngineNewWindowRequest &request)
void pdfPrintingFinished(const QString &filePath, bool success)
(since 6.8) void permissionRequested(QWebEnginePermission permission)
void printRequested()
(since 6.8) void printRequestedByFrame(QWebEngineFrame frame)
void proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost)
void recentlyAudibleChanged(bool recentlyAudible)
void recommendedStateChanged(QWebEnginePage::LifecycleState state)
void registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
void renderProcessPidChanged(qint64 pid)
void renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)
void scrollPositionChanged(const QPointF &position)
void selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)
void selectionChanged()
void titleChanged(const QString &title)
void urlChanged(const QUrl &url)
void visibleChanged(bool visible)
(since 6.7) void webAuthUxRequested(QWebEngineWebAuthUxRequest *request)
void windowCloseRequested()
(since 6.8) void zoomFactorChanged(qreal factor)

Funciones protegidas

virtual bool acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
virtual QStringList chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)
virtual QWebEnginePage *createWindow(QWebEnginePage::WebWindowType type)
virtual void javaScriptAlert(const QUrl &securityOrigin, const QString &msg)
virtual bool javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)
virtual void javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)
virtual bool javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)

Descripción detallada

Una página de motor web contiene el contenido de un documento HTML, el historial de enlaces navegados y acciones.

La API de QWebEnginePage es muy similar a la de QWebEngineView, ya que sigue disponiendo de funciones comunes como action() (conocida como pageAction() en QWebEngineView), triggerAction(), y findText().

Se puede cargar una página utilizando load() o setUrl(). Alternativamente, si tiene el contenido HTML disponible, puede utilizar setHtml(). El método GET se utiliza siempre para cargar URLs.

La clase QWebEnginePage también ofrece métodos para recuperar tanto la URL actualmente cargada por la página (ver url()) como la URL originalmente solicitada para ser cargada (ver requestedUrl()). Estos métodos hacen posible la recuperación de la URL antes y después de que se produzca una resolución DNS o una redirección durante el proceso de carga. requestedUrl () también coincide con la URL añadida al historial de la página (QWebEngineHistory) si la carga se realiza correctamente.

Se puede acceder al título de una página HTML con la propiedad title(). Además, una página también puede especificar un icono, al que se puede acceder mediante la propiedad icon() o su URL mediante la propiedad iconUrl(). Si el título o el icono cambian, se emitirán las correspondientes señales titleChanged(), iconChanged() y iconUrlChanged(). La propiedad zoomFactor() permite ampliar el contenido de la página web mediante un factor de escala.

La señal loadStarted() se emite cuando la página comienza a cargarse, mientras que la señal loadProgress() se emite cada vez que un elemento de la página web termina de cargarse, como una imagen incrustada o un script. La señal loadFinished() se emite cuando el contenido de la página se ha cargado completamente, independientemente de la ejecución del script o del renderizado de la página. Su argumento, true o false, indica si la operación de carga ha tenido éxito o no.

Un documento HTML se carga en un marco principal dentro de la página web. Si hace referencia a marcos secundarios (definidos por los elementos <frame> o <iframe> ), éstos se consideran parte del contenido. Los marcos secundarios sólo son accesibles individualmente a través de JavaScript.

Los sitios web definen un origen de seguridad para acceder de forma segura a los recursos de los demás, ya sea para secuencias de comandos del lado del cliente o bases de datos. Un origen consta de un nombre de host, un esquema y un número de puerto. Por ejemplo, los sitios http://www.example.com/my/page.html y http://www.example.com/my/overview.html pueden compartir la misma base de datos o acceder a los documentos del otro cuando se utilizan en conjuntos de marcos HTML y JavaScript. Al mismo tiempo, se impide a http://www.malicious.com/evil.html acceder a los recursos de http://www.example.com/, porque tienen un origen de seguridad diferente. Por defecto, los esquemas locales como file:// y qrc:// se consideran del mismo origen de seguridad y pueden acceder a los recursos del otro. Por defecto, los recursos locales tienen restringido el acceso a contenidos remotos, lo que significa que file:// no podrá acceder a http://domain.com/foo.html.

Los scripts pueden ejecutarse en la página web utilizando runJavaScript(), ya sea en el mundo JavaScript principal, junto con el resto del JavaScript procedente de los contenidos web, o en su propio mundo aislado. Mientras que se puede acceder al DOM de la página desde cualquier mundo, las variables JavaScript de una función definida en un mundo no son accesibles desde otro diferente. QWebEngineScript::ScriptWorldId proporciona algunos ID predefinidos para este propósito. Utilizar la versión runJavaScript() sin el ID de mundo es lo mismo que ejecutar el script en MainWorld.

La configuración FocusOnNavigationEnabled puede utilizarse para hacer que la vista asociada a la página reciba automáticamente el foco cuando se produce una operación de navegación (como cargar o recargar una página o navegar por el historial).

Documentación de tipos de miembros

enum QWebEnginePage::FileSelectionMode

Este enum indica si la implementación de la función chooseFiles() debe devolver sólo un archivo o puede devolver múltiples archivos:

ConstanteValorDescripción
QWebEnginePage::FileSelectOpen0Devuelve sólo un nombre de fichero.
QWebEnginePage::FileSelectOpenMultiple1Devuelve varios nombres de archivo.
QWebEnginePage::FileSelectUploadFolder2Permite a los usuarios especificar una única carpeta existente para cargar.
QWebEnginePage::FileSelectSave3Especifica un nuevo archivo que se creará.

Véase también chooseFiles().

enum QWebEnginePage::FindFlag
flags QWebEnginePage::FindFlags

Este enum describe las opciones disponibles para la función findText(). Las opciones pueden ser OR-ed de la siguiente lista:

ConstanteValorDescripción
QWebEnginePage::FindBackward1Busca hacia atrás en lugar de hacia adelante.
QWebEnginePage::FindCaseSensitively2Por defecto, findText() no distingue entre mayúsculas y minúsculas. Especificando esta opción cambia el comportamiento a una operación de búsqueda sensible a mayúsculas y minúsculas.

El tipo FindFlags es un typedef para QFlags<FindFlag>. Almacena una combinación OR de valores FindFlag.

enum QWebEnginePage::JavaScriptConsoleMessageLevel

Este enum describe los diferentes niveles de gravedad que puede tener un mensaje de consola JavaScript:

ConstanteValorDescripción
QWebEnginePage::InfoMessageLevel0El mensaje es puramente informativo y puede ser ignorado.
QWebEnginePage::WarningMessageLevel1El mensaje informa sobre un comportamiento inesperado o errores que pueden necesitar atención.
QWebEnginePage::ErrorMessageLevel2El mensaje indica que se ha producido un error.

enum class QWebEnginePage::LifecycleState

Este enum describe el estado del ciclo de vida de la página:

ConstanteValorDescripción
QWebEnginePage::LifecycleState::Active0Estado normal.
QWebEnginePage::LifecycleState::Frozen1Estado de bajo uso de CPU donde se suspenden la mayoría de las fuentes de tareas HTML.
QWebEnginePage::LifecycleState::Discarded2Estado de uso de recursos muy bajo en el que se descarta todo el contexto de navegación.

Véase también lifecycleState, Page Lifecycle API y WebEngine Lifecycle Example.

Este enum describe el tipo de solicitud de navegación:

ConstanteValorDescripción
QWebEnginePage::NavigationTypeLinkClicked0La petición de navegación es el resultado de hacer clic en un enlace.
QWebEnginePage::NavigationTypeTyped1La solicitud de navegación es el resultado de una URL cargada explícitamente.
QWebEnginePage::NavigationTypeFormSubmitted2La solicitud de navegación es el resultado del envío de un formulario.
QWebEnginePage::NavigationTypeBackForward3La solicitud de navegación es el resultado de una acción de retroceso o avance.
QWebEnginePage::NavigationTypeReload4La solicitud de navegación es el resultado de una acción de recarga.
QWebEnginePage::NavigationTypeRedirect (since Qt 5.14)6La solicitud de navegación es el resultado de una redirección controlada por el contenido o el servidor. Esto también incluye las recargas automáticas.
QWebEnginePage::NavigationTypeOther5La petición de navegación fue provocada por otros medios no cubiertos por los anteriores.

Véase también acceptNavigationRequest().

enum QWebEnginePage::RenderProcessTerminationStatus

Este enum describe el estado con el que finalizó el proceso de renderizado:

ConstanteValorDescripción
QWebEnginePage::NormalTerminationStatus0El proceso de renderizado terminó normalmente.
QWebEnginePage::AbnormalTerminationStatus1El proceso de renderizado terminó con un estado de salida distinto de cero.
QWebEnginePage::CrashedTerminationStatus2El proceso de renderizado se bloqueó, por ejemplo debido a un fallo de segmentación.
QWebEnginePage::KilledTerminationStatus3El proceso de renderizado fue eliminado, por ejemplo por SIGKILL o por el administrador de tareas.

enum QWebEnginePage::WebAction

Este enum describe los tipos de acción que se pueden realizar en la página web.

Las acciones sólo tienen efecto cuando son aplicables.

La disponibilidad de las acciones puede determinarse comprobando isEnabled() en la acción devuelta por action().

ConstanteValorDescripción
QWebEnginePage::NoWebAction- 1No se activa ninguna acción.
QWebEnginePage::Back0Retrocede en el historial de enlaces navegados.
QWebEnginePage::Forward1Avanzar en el historial de enlaces navegados.
QWebEnginePage::Stop2Detener la carga de la página actual.
QWebEnginePage::Reload3Recargar la página actual.
QWebEnginePage::ReloadAndBypassCache10Recargar la página actual, pero sin utilizar la caché local.
QWebEnginePage::Cut4Cortar el contenido seleccionado en el portapapeles.
QWebEnginePage::Copy5Copiar el contenido seleccionado en el portapapeles.
QWebEnginePage::Paste6Pegar contenido del portapapeles.
QWebEnginePage::Undo7Deshacer la última acción de edición.
QWebEnginePage::Redo8Rehacer la última acción de edición.
QWebEnginePage::SelectAll9Seleccionar todo el contenido. Esta acción sólo se activa cuando el contenido de la página está enfocado. El enfoque puede ser forzado por la llamada JavaScript window.focus(), o el ajuste FocusOnNavigationEnabled debe estar habilitado para obtener el enfoque automático.
QWebEnginePage::PasteAndMatchStyle11Pegar contenido desde el portapapeles con el estilo actual.
QWebEnginePage::OpenLinkInThisWindow (since Qt 5.6)12Abrir el enlace actual en la ventana actual.
QWebEnginePage::OpenLinkInNewWindow (since Qt 5.6)13Abrir el enlace actual en una nueva ventana. Requiere la implementación de createWindow() o newWindowRequested().
QWebEnginePage::OpenLinkInNewTab (since Qt 5.6)14Abrir el enlace actual en una nueva pestaña. Requiere la implementación de createWindow() o newWindowRequested().
QWebEnginePage::OpenLinkInNewBackgroundTab (since Qt 5.7)31Abrir el enlace actual en una nueva pestaña de fondo. Requiere la implementación de createWindow() o newWindowRequested().
QWebEnginePage::CopyLinkToClipboard (since Qt 5.6)15Copiar el enlace actual en el portapapeles.
QWebEnginePage::CopyImageToClipboard (since Qt 5.6)17Copiar la imagen seleccionada en el portapapeles.
QWebEnginePage::CopyImageUrlToClipboard (since Qt 5.6)18Copiar la URL de la imagen seleccionada en el portapapeles.
QWebEnginePage::CopyMediaUrlToClipboard (since Qt 5.6)20Copiar en el portapapeles la URL del audio o vídeo sobre el que se pasa el ratón.
QWebEnginePage::ToggleMediaControls (since Qt 5.6)21Mostrar u ocultar los controles del elemento de audio o vídeo sobre el que se pasa el ratón.
QWebEnginePage::ToggleMediaLoop (since Qt 5.6)22Alternar si el audio o vídeo sobre el que se pasa el ratón debe reproducirse en bucle o no.
QWebEnginePage::ToggleMediaPlayPause (since Qt 5.6)23Alternar el estado de reproducción/pausa del elemento de audio o vídeo sobre el que se pasa el ratón.
QWebEnginePage::ToggleMediaMute (since Qt 5.6)24Silenciar o anular el silencio del elemento de audio o vídeo sobre el que se pasa el ratón.
QWebEnginePage::DownloadLinkToDisk (since Qt 5.6)16Descargar el enlace actual al disco. Requiere una ranura para downloadRequested().
QWebEnginePage::DownloadImageToDisk (since Qt 5.6)19Descargar la imagen resaltada en el disco. Requiere una ranura para downloadRequested().
QWebEnginePage::DownloadMediaToDisk (since Qt 5.6)25Descarga en el disco el elemento de audio o vídeo destacado. Requiere una ranura para downloadRequested().
QWebEnginePage::InspectElement (since Qt 5.6)26Activar cualquier Inspector Web adjunto para inspeccionar el elemento resaltado.
QWebEnginePage::ExitFullScreen (since Qt 5.6)27Salir del modo de pantalla completa.
QWebEnginePage::RequestClose (since Qt 5.6)28Solicitar el cierre de la página web. Si se define, se ejecuta el manejador window.onbeforeunload, y el usuario puede confirmar o rechazar cerrar la página. Si se confirma la solicitud de cierre, se emite windowCloseRequested.
QWebEnginePage::Unselect (since Qt 5.7)29Borrar la selección actual.
QWebEnginePage::SavePage (since Qt 5.7)30Guarda la página actual en el disco. MHTML es el formato por defecto que se utiliza para almacenar la página web en el disco. Requiere un espacio para downloadRequested().
QWebEnginePage::ViewSource (since Qt 5.8)32Mostrar la fuente de la página actual en una nueva pestaña. Requiere la implementación de createWindow() o newWindowRequested().
QWebEnginePage::ToggleBold (since Qt 5.10)33Activa la negrita para la selección, o en la posición del cursor. Requiere contenteditable="true".
QWebEnginePage::ToggleItalic (since Qt 5.10)34Activa la cursiva para la selección, o en la posición del cursor. Requiere contenteditable="true".
QWebEnginePage::ToggleUnderline (since Qt 5.10)35Activa el subrayado de la selección, o en la posición del cursor. Requiere contenteditable="true".
QWebEnginePage::ToggleStrikethrough (since Qt 5.10)36Activa el subrayado de la selección, o en la posición del cursor. Requiere contenteditable="true".
QWebEnginePage::AlignLeft (since Qt 5.10)37Alinea a la izquierda las líneas que contienen la selección o el cursor. Requiere contenteditable="true".
QWebEnginePage::AlignCenter (since Qt 5.10)38Alinea las líneas que contienen la selección o el cursor en el centro. Requiere contenteditable="true".
QWebEnginePage::AlignRight (since Qt 5.10)39Alinea las líneas que contienen la selección o el cursor a la derecha. Requiere contenteditable="true".
QWebEnginePage::AlignJustified (since Qt 5.10)40Estira las líneas que contienen la selección o el cursor para que cada línea tenga el mismo ancho. Requiere contenteditable="true".
QWebEnginePage::Indent (since Qt 5.10)41Indenta las líneas que contienen la selección o el cursor. Requiere contenteditable="true".
QWebEnginePage::Outdent (since Qt 5.10)42Redondea las líneas que contienen la selección o el cursor. Requiere contenteditable="true".
QWebEnginePage::InsertOrderedList (since Qt 5.10)43Inserta una lista ordenada en la posición actual del cursor, borrando la selección actual. Requiere contenteditable="true".
QWebEnginePage::InsertUnorderedList (since Qt 5.10)44Inserta una lista desordenada en la posición actual del cursor, borrando la selección actual. Requiere contenteditable="true".
QWebEnginePage::ChangeTextDirectionLTR (since Qt 6.6)45Cambia la dirección del texto de izquierda a derecha en el elemento de entrada enfocado.
QWebEnginePage::ChangeTextDirectionRTL (since Qt 6.6)46Cambia la dirección del texto de derecha a izquierda en el elemento de entrada enfocado.

enum QWebEnginePage::WebWindowType

Este enum describe los tipos de ventana que pueden ser creados por la función createWindow():

ConstanteValorDescripción
QWebEnginePage::WebBrowserWindow0Una ventana completa del navegador web.
QWebEnginePage::WebBrowserTab1Una pestaña del navegador.
QWebEnginePage::WebDialog2Una ventana sin decoración.
QWebEnginePage::WebBrowserBackgroundTab (since Qt 5.7)3Una pestaña del navegador web sin ocultar la actual visible WebEngineView.

Documentación de propiedades

audioMuted : bool

Esta propiedad indica si el audio de la página actual está silenciado.

El valor por defecto es false.

Funciones de acceso:

bool isAudioMuted() const
void setAudioMuted(bool muted)

Señal del notificador:

void audioMutedChanged(bool muted)

Véase también recentlyAudible.

backgroundColor : QColor

Esta propiedad mantiene el color de fondo de la página detrás del cuerpo del documento.

Puede establecer el color de fondo en Qt::transparent o en un color translúcido para ver a través del documento, o puede establecerlo para que coincida con su contenido web en una aplicación híbrida para evitar los destellos blancos que pueden aparecer durante la carga.

El valor por defecto es el blanco.

Funciones de acceso:

QColor backgroundColor() const
void setBackgroundColor(const QColor &color)

[read-only] contentsSize : QSizeF

El tamaño del contenido completo de la página, medido en píxeles lógicos. En dispositivos con un factor de escala distinto del 100%, no se corresponderá con el tamaño en pantalla, sino con el tamaño antes de aplicar el escalado. En estos casos, el tamaño puede contener valores fraccionarios.

Funciones de acceso:

QSizeF contentsSize() const

Señal del notificador:

void contentsSizeChanged(const QSizeF &size)

[read-only] hasSelection : bool

Esta propiedad indica si esta página contiene contenido seleccionado o no.

Funciones de acceso:

bool hasSelection() const

Véase también selectionChanged().

[read-only] icon : QIcon

Esta propiedad contiene el icono asociado a la página visualizada actualmente.

Por defecto, esta propiedad contiene un icono nulo. Si los iconos táctiles están desactivados (véase QWebEngineSettings::TouchIconsEnabled), el favicon se proporciona en dos tamaños (16x16 y 32x32 píxeles) encapsulados en QIcon. En caso contrario, se proporciona un único icono con el mayor tamaño disponible.

Funciones de acceso:

QIcon icon() const

Señal de notificador:

void iconChanged(const QIcon &icon)

Véase también iconChanged(), iconUrl(), iconUrlChanged(), y QWebEngineSettings::TouchIconsEnabled.

[read-only] iconUrl : QUrl

Esta propiedad contiene la URL del icono asociado a la página que se está visualizando.

Por defecto, esta propiedad contiene una URL vacía.

Funciones de acceso:

QUrl iconUrl() const

Señal del notificador:

void iconUrlChanged(const QUrl &url)

Véase también iconUrlChanged(), icon(), y iconChanged().

lifecycleState : LifecycleState

Esta propiedad contiene el estado actual del ciclo de vida de la página.

El definidor impone las siguientes restricciones:

  • Una página visible debe permanecer en el estado Active.
  • Si la página está siendo inspeccionada por una devToolsPage, ambas páginas deben permanecer en el estado Active.
  • Una página en el estado Discarded sólo puede pasar al estado Active. Esto provocará una recarga de la página.

Estos son los únicos límites estrictos del estado del ciclo de vida, pero véase también recommendedState para los límites flexibles recomendados.

Funciones de acceso:

QWebEnginePage::LifecycleState lifecycleState() const
void setLifecycleState(QWebEnginePage::LifecycleState state)

Señal de aviso:

void lifecycleStateChanged(QWebEnginePage::LifecycleState state)

Véase también recommendedState, Page Lifecycle API y WebEngine Lifecycle Example.

[read-only, since 6.2] loading : bool

Esta propiedad indica si la página se está cargando actualmente.

Esta propiedad se introdujo en Qt 6.2.

Funciones de acceso:

bool isLoading() const

Señal Notifier:

void loadingChanged(const QWebEngineLoadingInfo &loadingInfo)

Véase también QWebEngineLoadingInfo, loadStarted, y loadFinished.

[read-only] recentlyAudible : bool

Esta propiedad contiene el estado audible de la página actual, es decir, si el audio se ha reproducido recientemente o no.

El valor por defecto es false.

Funciones de acceso:

bool recentlyAudible() const

Señal del notificador:

void recentlyAudibleChanged(bool recentlyAudible)

Véase también audioMuted.

[read-only] recommendedState : LifecycleState

Esta propiedad contiene el límite recomendado para el estado del ciclo de vida de la página.

Establecer el estado del ciclo de vida a un estado de uso de recursos inferior al recomendado puede causar efectos secundarios como la detención de la reproducción de audio en segundo plano o la pérdida de la entrada de formularios HTML. Sin embargo, es totalmente seguro establecer el estado del ciclo de vida en un estado de uso de recursos superior.

Funciones de acceso:

QWebEnginePage::LifecycleState recommendedState() const

Señal del notificador:

void recommendedStateChanged(QWebEnginePage::LifecycleState state)

Véase también lifecycleState, Page Lifecycle API y WebEngine Lifecycle Example.

[read-only] renderProcessPid : qint64

Esta propiedad contiene el ID de proceso (PID) del proceso de renderizado asignado al marco principal de la página actual.

Si todavía no hay ningún proceso de renderizado disponible, se devuelve 0.

Funciones de acceso:

qint64 renderProcessPid() const

Señal del notificador:

void renderProcessPidChanged(qint64 pid)

[read-only] requestedUrl : QUrl

Esta propiedad contiene la URL que fue originalmente solicitada para ser cargada por la página que se está viendo actualmente.

Nota: La URL puede diferir de la devuelta por url(), que es la URL real que resulta de la resolución o redirección DNS.

Funciones de acceso:

QUrl requestedUrl() const

Véase también url() y setUrl().

[read-only] scrollPosition : QPointF

Esta propiedad contiene la posición de desplazamiento del contenido de la página.

Funciones de acceso:

QPointF scrollPosition() const

Señal del notificador:

void scrollPositionChanged(const QPointF &position)

[read-only] selectedText : QString

Esta propiedad contiene el texto actualmente seleccionado.

Por defecto, esta propiedad contiene una cadena vacía.

Funciones de acceso:

QString selectedText() const

Véase también selectionChanged().

[read-only] title : QString

Esta propiedad contiene el título de la página definido por el elemento HTML <title>.

Si la página no tiene el elemento <title>, se utiliza la URL en su lugar. Para las URL de file:// sólo se utiliza el nombre del archivo, y no la ruta completa.

Por defecto, antes de que se haya cargado ningún contenido, esta propiedad contiene una cadena vacía.

Funciones de acceso:

QString title() const

Señal del notificador:

void titleChanged(const QString &title)

Véase también titleChanged().

url : QUrl

Esta propiedad contiene la URL de la página actualmente visualizada.

Al establecer esta propiedad se borra la vista y se carga la URL.

Por defecto, esta propiedad contiene una URL vacía e inválida.

Funciones de acceso:

QUrl url() const
void setUrl(const QUrl &url)

Señal del notificador:

void urlChanged(const QUrl &url)

Véase también urlChanged().

visible : bool

Esta propiedad mantiene si la página se considera visible en la API de Visibilidad de Página.

Al establecer esta propiedad se modifican las propiedades Document.hidden y Document.visibilityState en JavaScript, que los sitios web pueden utilizar para reducir voluntariamente el uso de recursos si no son visibles para el usuario.

Si la página está conectada a una vista, esta propiedad será gestionada automáticamente por la vista en función de su propia visibilidad.

Funciones de acceso:

bool isVisible() const
void setVisible(bool visible)

Señal de notificador:

void visibleChanged(bool visible)

Véase también lifecycleState.

zoomFactor : qreal

Esta propiedad contiene el factor de zoom para el contenido de la página.

Los valores válidos están comprendidos entre 0.25 y 5.0. El factor por defecto es 1.0.

Funciones de acceso:

qreal zoomFactor() const
void setZoomFactor(qreal factor)

Señal del notificador:

void zoomFactorChanged(qreal factor)

Véase también zoomFactorChanged().

Documentación de las funciones miembro

[explicit] QWebEnginePage::QWebEnginePage(QObject *parent = nullptr)

Construye una QWebEnginePage vacía con el padre parent.

QWebEnginePage::QWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr)

Construye una página de motor web vacía en el perfil de motor web profile con el padre parent.

Si el perfil no es el perfil por defecto, la persona que llama debe asegurarse de que el perfil permanece vivo durante el tiempo que dure la página.

[virtual noexcept] QWebEnginePage::~QWebEnginePage()

Destruye la página web.

[virtual protected] bool QWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)

Esta función se llama al recibir una petición de navegación al url especificado mediante el tipo de navegación especificado type. isMainFrame indica si la petición corresponde al marco principal o a un marco hijo. Si la función devuelve true, se acepta la petición de navegación y se carga url. La implementación por defecto acepta todas las peticiones de navegación.

Las peticiones de navegación pueden delegarse a la aplicación Qt en lugar de que las procese el motor HTML handler sobrecargando esta función. Esto es necesario cuando se utiliza un documento HTML como parte de la interfaz de usuario, y no para mostrar datos externos, por ejemplo, cuando se muestra una lista de resultados.

Nota: Esta función no se llama para la navegación por fragmentos en la misma página. Dicha navegación, por ejemplo, se produce al hacer clic en un enlace a un '#fragmento' dentro de la página. No desencadena una carga a un documento diferente, aunque cambie la url de la página y añada una entrada al historial. Sólo sirve como acceso directo para desplazarse dentro de la página. Por lo tanto, no se espera que se produzca ninguna delegación de este tipo de navegación.

Nota: El proceso de carga se inicia y la señal loadStarted() se emite antes de que la solicitud sea aceptada o rechazada. Por lo tanto, cabe esperar una señal loadFinished() que devuelva false incluso después de delegar la solicitud.

Nota: Al utilizar setHtml o setContent con enlaces relativos, asegúrese de especificar una url base, de lo contrario los enlaces se considerarán inválidos y no se emitirán peticiones de navegación.

La clase QWebEngineUrlRequestInterceptor ofrece más opciones para interceptar y manipular peticiones.

QAction *QWebEnginePage::action(QWebEnginePage::WebAction action) const

Devuelve un QAction para el WebAction action especificado.

La acción es propiedad de QWebEnginePage pero puedes personalizar su aspecto cambiando sus propiedades.

La acción devuelta no tiene un icono con estilo por defecto. Utilice QWebEngineView::pageAction() para obtener una acción con un icono por defecto.

QWebEnginePage también se encarga de implementar la acción, de forma que al dispararse se ejecute la acción correspondiente en la página.

Véase también triggerAction().

[signal] void QWebEnginePage::audioMutedChanged(bool muted)

Esta señal se emite cuando cambia el estado de la página muted.

Nota : No debe confundirse con el silenciamiento de un elemento de audio o vídeo HTML5 específico.

Nota: Señal notificadora para la propiedad audioMuted.

[signal] void QWebEnginePage::authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator)

Esta señal se emite cuando el acceso a requestUrl requiere autenticación. authenticator debe utilizarse para pasar el nombre de usuario y la contraseña de la conexión.

[signal] void QWebEnginePage::certificateError(const QWebEngineCertificateError &certificateError)

Esta señal se emite cuando se produce un error de certificado no válido al cargar una solicitud determinada.

El parámetro certificateError contiene información sobre el certificado y detalles del error, también proporciona la forma de ignorar el error y completar la petición o detener la carga de la petición.

Véase también QWebEngineCertificateError.

[virtual protected] QStringList QWebEnginePage::chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)

Esta función es llamada cuando el contenido web solicita un nombre de archivo, por ejemplo como resultado de que el usuario haga clic en un botón de carga de archivos en un formulario HTML.

mode indica si se espera que se devuelva un solo archivo o varios.

Se puede proporcionar un nombre de archivo sugerido como primera entrada de oldFiles. acceptedMimeTypes es ignorado por la implementación por defecto, pero podría ser utilizado por anulaciones.

[virtual protected] QWebEnginePage *QWebEnginePage::createWindow(QWebEnginePage::WebWindowType type)

Esta función se llama para crear una nueva ventana del tamaño especificado en type. Por ejemplo, cuando un programa JavaScript solicita abrir un documento en una nueva ventana.

Si se puede crear la nueva ventana, se devuelve el QWebEnginePage de la nueva ventana; en caso contrario, se devuelve un puntero nulo.

Si la vista asociada a la página web es un objeto QWebEngineView, la implementación por defecto reenvía la petición a QWebEngineView::createWindow(); en caso contrario devuelve un puntero nulo.

Si esta llamada no está implementada o no devuelve una nueva página, se emite newWindowRequested() para gestionar la petición.

Nota: En los casos en los que la creación de la ventana es desencadenada por JavaScript, además de reimplementar este método la aplicación también debe establecer QWebEngineSettings::JavascriptCanOpenWindows a true para que el método sea llamado.

Véase también QWebEngineView::createWindow() y newWindowRequested().

[signal, since 6.7] void QWebEnginePage::desktopMediaRequested(const QWebEngineDesktopMediaRequest &request)

Esta señal se emite cuando una aplicación web solicita acceso al contenido de una pantalla.

El argumento request contiene referencias a modelos de datos de ventanas y pantallas disponibles para su captura. Para aceptar la solicitud, el controlador de la señal puede llamar a QWebEngineDesktopMediaRequest::selectScreen() o a QWebEngineDesktopMediaRequest::selectWindow().

Esta función se introdujo en Qt 6.7.

[since 6.6] QString QWebEnginePage::devToolsId() const

Devuelve el id del host de herramientas de desarrollo asociado a esta página.

Si la depuración remota está activada (consulte Qt WebEngine Developer Tools), el id se puede utilizar para construir la URL para conectarse al websocket de la herramienta de desarrollo: ws://localhost:<debugging-port>/devtools/page/<id>). El websocket puede utilizarse para interactuar con la página utilizando el protocolo DevTools.

Esta función se introdujo en Qt 6.6.

QWebEnginePage *QWebEnginePage::devToolsPage() const

Devuelve la página que aloja las herramientas para desarrolladores de esta página, si las hay.

Devuelve nullptr si no hay página de herramientas para desarrolladores.

Véase también setDevToolsPage() y inspectedPage().

void QWebEnginePage::download(const QUrl &url, const QString &filename = QString())

Descarga el recurso desde la ubicación indicada por url a un archivo local.

Si se indica filename, se utiliza como nombre de archivo sugerido. Si es relativo, el archivo se guarda en la ubicación de descarga estándar con el nombre dado. Si es nulo o vacío QString, se utiliza el nombre de archivo por defecto.

Esto emitirá QWebEngineProfile::downloadRequested() después de que la descarga haya comenzado.

[override virtual] bool QWebEnginePage::event(QEvent *e)

Reimplementa: QObject::event(QEvent *e).

[signal, since 6.4] void QWebEnginePage::fileSystemAccessRequested(QWebEngineFileSystemAccessRequest request)

Esta señal se emite cuando la página web solicita acceso a archivos o directorios locales.

El objeto request request puede utilizarse para aceptar o rechazar la solicitud.

Esta función se introdujo en Qt 6.4.

[since 6.8] std::optional<QWebEngineFrame> QWebEnginePage::findFrameByName(QAnyStringView name)

Devuelve el marco con el nombre name. Si hay varios marcos con el mismo nombre, el que se devuelva es arbitrario. Si no se encuentra ningún marco, devuelve std::nullopt.

Esta función se introdujo en Qt 6.8.

void QWebEnginePage::findText(const QString &subString, QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> &resultCallback = std::function<void(const QWebEngineFindTextResult &)>())

Busca la cadena especificada, subString, en la página, utilizando la dirección options. La señal findTextFinished() se emite cuando finaliza la búsqueda de una cadena.

Para borrar el resalte de búsqueda, basta con pasar una cadena vacía.

resultCallback debe recibir un parámetro QWebEngineFindTextResult.

Advertencia: Garantizamos que la llamada de retorno (resultCallback) se llama siempre, pero podría hacerse durante la destrucción de la página. Cuando se borra QWebEnginePage, la llamada de retorno se lanza con un valor no válido y no es seguro utilizar la instancia correspondiente de QWebEnginePage o QWebEngineView dentro de ella.

Por ejemplo:

    m_view->page()->findText(QStringLiteral("Qt"), QWebEnginePage::FindFlags(), [this](const QWebEngineFindTextResult &result) {
        if (result.numberOfMatches() == 0) QMessageBox::information(m_view, QString(), QStringLiteral("No occurrences found"));
    });

Véase también findTextFinished().

[signal] void QWebEnginePage::findTextFinished(const QWebEngineFindTextResult &result)

Esta señal se emite cuando se completa una búsqueda de cadena en una página. result es el resultado de la búsqueda de cadena.

Véase también findText().

[signal] void QWebEnginePage::fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest)

Esta señal se emite cuando la página web emite la petición de entrar en modo de pantalla completa para un elemento web, normalmente un elemento de vídeo.

El objeto de solicitud fullScreenRequest puede utilizarse para aceptar o rechazar la solicitud.

Si la petición es aceptada, el elemento que solicita la pantalla completa llenará la ventana gráfica, pero depende de la aplicación hacer que la vista sea de pantalla completa o mover la página a una vista que sea de pantalla completa.

Véase también QWebEngineSettings::FullScreenSupportEnabled.

[signal] void QWebEnginePage::geometryChangeRequested(const QRect &geom)

Esta señal se emite siempre que el documento desea cambiar la posición y el tamaño de la página a geom. Esto puede ocurrir, por ejemplo, a través de JavaScript.

Nota: setGeometry() espera un tamaño que excluya la decoración de la ventana, mientras que geom la incluye. Tienes que eliminar el tamaño de los márgenes del marco de geom para manejar esta señal correctamente.

window->setGeometry(geom.marginsRemoved(window->frameMargins()));

QWebEngineHistory *QWebEnginePage::history() const

Devuelve un puntero al historial de páginas web navegadas de la vista.

[signal] void QWebEnginePage::iconChanged(const QIcon &icon)

Esta señal se emite cuando se cambia el icono ("favicon") asociado a la página. El nuevo icono se especifica en icon.

Nota: Señal notificadora para la propiedad icon.

Véase también icon(), iconUrl(), y iconUrlChanged().

[signal] void QWebEnginePage::iconUrlChanged(const QUrl &url)

Esta señal se emite cuando se cambia la URL del icono ("favicon") asociado a la página. La nueva URL se especifica en url.

Nota: Señal notificadora para la propiedad iconUrl.

Véase también iconUrl(), icon(), y iconChanged().

QWebEnginePage *QWebEnginePage::inspectedPage() const

Devuelve la página que esta página está inspeccionando, si existe.

Devuelve nullptr si esta página no es una página de herramientas de desarrollo.

Véase también setInspectedPage() y devToolsPage().

[virtual protected] void QWebEnginePage::javaScriptAlert(const QUrl &securityOrigin, const QString &msg)

Esta función se llama siempre que un programa JavaScript que se ejecuta en un marco afiliado a securityOrigin llama a la función alert() con el mensaje msg.

La implementación por defecto muestra el mensaje, msg, con QMessageBox::information.

[virtual protected] bool QWebEnginePage::javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)

Esta función es llamada cada vez que un programa JavaScript que se ejecuta en un marco afiliado a securityOrigin llama a la función confirm() con el mensaje msg. Devuelve true si el usuario confirma el mensaje; en caso contrario, devuelve false.

También se llama cuando el gestor de onbeforeunload solicita una confirmación antes de abandonar una página.

La implementación por defecto ejecuta la consulta utilizando QMessageBox::information con los botones QMessageBox::Ok y QMessageBox::Cancel.

[virtual protected] void QWebEnginePage::javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)

Esta función se llama cuando un programa JavaScript intenta imprimir la dirección message en la consola del navegador web.

Por ejemplo, en caso de errores de evaluación, la URL de origen puede proporcionarse en sourceID, así como lineNumber.

level indica la gravedad del evento que desencadenó el mensaje. Es decir, si fue desencadenado por un error o por un evento menos grave.

La implementación por defecto registra los mensajes en un js logging category .

Véase también Registro en consola.

[virtual protected] bool QWebEnginePage::javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)

Esta función se ejecuta cada vez que un programa JavaScript que se ejecuta en un marco asociado a securityOrigin intenta pedir al usuario que introduzca datos. El programa puede proporcionar un mensaje opcional, msg, así como un valor predeterminado para la entrada en defaultValue.

Si el usuario cancela la solicitud, la implementación debe devolver false; de lo contrario, el resultado debe escribirse en result y debe devolverse true. Si el usuario no ha cancelado la consulta, la implementación debe devolver true y la cadena resultante no debe ser nula.

La implementación por defecto utiliza QInputDialog::getText().

[signal] void QWebEnginePage::linkHovered(const QString &url)

Esta señal se emite cuando el ratón pasa por encima de un enlace. url contiene la URL de destino del enlace.

void QWebEnginePage::load(const QUrl &url)

Carga url en esta página.

Nota: La vista permanece igual hasta que llegan suficientes datos para mostrar la nueva URL.

Véase también setUrl(), setHtml(), y setContent().

void QWebEnginePage::load(const QWebEngineHttpRequest &request)

Emite el request especificado y carga la respuesta.

Véase también load(), setUrl(), url(), urlChanged() y QUrl::fromUserInput().

[signal] void QWebEnginePage::loadFinished(bool ok)

Esta señal se emite cuando la página termina de cargar contenido. Esta señal es independiente de la ejecución del script o del renderizado de la página. ok indicará si la carga se ha realizado correctamente o si se ha producido algún error.

Nota: Las peticiones de navegación pueden delegarse a la aplicación Qt en lugar de que las procese el motor HTML handler sobrecargando la función acceptNavigationRequest(). Dado que el proceso de carga se inicia y la señal loadStarted() se emite antes de que la petición sea aceptada o rechazada, es de esperar una señal loadFinished() que devuelva false incluso después de delegar la petición.

Véase también loadStarted() y acceptNavigationRequest().

[signal] void QWebEnginePage::loadProgress(int progress)

Esta señal se emite cuando cambia el estado de progreso global. El valor actual es proporcionado por progress y escala de 0 a 100, que es el rango por defecto de QProgressBar. Acumula los cambios de todos los fotogramas hijos.

[signal] void QWebEnginePage::loadStarted()

Esta señal se emite cuando una página comienza a cargar contenido.

Véase también loadFinished() y acceptNavigationRequest().

[signal, since 6.2] void QWebEnginePage::loadingChanged(const QWebEngineLoadingInfo &loadingInfo)

Esta señal se emite cuando la carga de la página especificada por loadingInfo comienza, termina o falla.

Nota: Señal notificadora para la propiedad loading.

Esta función se introdujo en Qt 6.2.

[since 6.8] QWebEngineFrame QWebEnginePage::mainFrame()

El marco principal de la página. Todos los demás marcos de esta página son accesibles como hijos del marco principal.

Esta función se introdujo en Qt 6.8.

Esta señal se emite en la navegación junto con la llamada al acceptNavigationRequest(). Se puede utilizar para aceptar o ignorar la request. El valor predeterminado es aceptar.

Esta función se introdujo en Qt 6.2.

Véase también acceptNavigationRequest().

[signal, since 6.2] void QWebEnginePage::newWindowRequested(QWebEngineNewWindowRequest &request)

Esta señal se emite cuando se emite request para cargar una página en una ventana independiente del motor web. Esto puede ser porque la página actual lo solicitó explícitamente a través de una llamada JavaScript a window.open, o porque el usuario hizo clic en un enlace mientras mantenía pulsada la tecla Shift, Cmd/Ctrl, o una combinación incorporada que desencadena que la página se abra en una nueva ventana.

La señal se gestiona llamando a openIn() con la nueva página en la petición. Si no se gestiona esta señal, la carga solicitada fallará.

Nota: Esta señal no se emite si createWindow() manejó la petición primero.

Esta función se introdujo en Qt 6.2.

Véase también createWindow() y QWebEngineNewWindowRequest::openIn().

[signal] void QWebEnginePage::pdfPrintingFinished(const QString &filePath, bool success)

Esta señal se emite cuando ha finalizado la impresión de la página web en un archivo PDF. filePath contendrá la ruta en la que se solicitó la creación del archivo, y success será true si el archivo se creó correctamente y false en caso contrario.

Véase también printToPdf().

[signal, since 6.8] void QWebEnginePage::permissionRequested(QWebEnginePermission permission)

Esta señal se emite cuando un sitio web solicita hacer uso de una funcionalidad (por ejemplo, acceso de geolocalización, permiso para enviar notificaciones). El objeto permission puede consultar la URL solicitante y el QWebEnginePermission::Feature que está pidiendo, así como conceder o denegar el permiso.

Esta función se introdujo en Qt 6.8.

[signal] void QWebEnginePage::printRequested()

Esta señal se emite cuando se llama al método JavaScript window.print() en el marco principal, o cuando el usuario pulsa el botón de impresión del complemento del visor de PDF. Normalmente, el controlador de la señal puede simplemente llamar a printToPdf().

Desde la versión 6.8, esta señal sólo se emite para el marco principal, en lugar de emitirse para cualquier marco que solicite la impresión.

Véase también printToPdf() y printRequestedByFrame().

[signal, since 6.8] void QWebEnginePage::printRequestedByFrame(QWebEngineFrame frame)

Esta señal se emite cuando se llama al método JavaScript window.print() en frame. Si el marco es el marco principal, se emite printRequested en su lugar.

Esta función se introdujo en Qt 6.8.

Véase también printRequested(), printToPdf(), y QWebEngineFrame::printToPdf().

void QWebEnginePage::printToPdf(const QString &filePath, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})

Renderiza el contenido actual de la página en un documento PDF y lo guarda en la ubicación especificada en filePath. El tamaño de página y la orientación del documento PDF producido se toman de los valores especificados en layout, mientras que el rango de páginas impresas se toma de ranges siendo el valor por defecto imprimir todas las páginas.

Este método emite una petición asíncrona para imprimir la página web en un PDF y devuelve inmediatamente. Para conocer el resultado de la solicitud, conéctese a la señal pdfPrintingFinished().

Nota: La acción web QWebEnginePage::Stop puede utilizarse para interrumpir esta operación asíncrona.

Si ya existe un archivo en la ruta de archivo proporcionada, se sobrescribirá.

Véase también pdfPrintingFinished().

void QWebEnginePage::printToPdf(const std::function<void (const QByteArray &)> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})

Renderiza el contenido actual de la página en un documento PDF y devuelve una matriz de bytes que contiene los datos PDF como parámetro a resultCallback. El tamaño de página y la orientación del documento PDF producido se toman de los valores especificados en layout, mientras que el rango de páginas impresas se toma de ranges siendo el valor por defecto imprimir todas las páginas.

resultCallback debe tomar como parámetro una referencia constante a QByteArray. Si la impresión se ha realizado correctamente, esta matriz de bytes contendrá los datos del PDF; en caso contrario, la matriz de bytes estará vacía.

Nota: La acción web QWebEnginePage::Stop puede utilizarse para interrumpir esta operación.

Advertencia: Garantizamos que la llamada de retorno (resultCallback) se llama siempre, pero podría hacerse durante la destrucción de la página. Cuando se elimina QWebEnginePage, la llamada de retorno se lanza con un valor no válido y no es seguro utilizar la instancia correspondiente de QWebEnginePage o QWebEngineView dentro de ella.

QWebEngineProfile *QWebEnginePage::profile() const

Devuelve el perfil del motor web al que pertenece la página.

[signal] void QWebEnginePage::proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost)

Esta señal se emite cuando el acceso a requestUrl a través de proxyHost requiere autenticación para el proxy. authenticator debe utilizarse para pasar el nombre de usuario y la contraseña para la conexión.

[signal] void QWebEnginePage::recentlyAudibleChanged(bool recentlyAudible)

Esta señal se emite cuando el estado audible de la página, recentlyAudible, cambia debido a la reproducción o detención del audio.

Nota: La señal también se emite cuando cambia la propiedad audioMuted. Además, si se detiene el audio, esta señal se emite con un retardo aproximado de dos segundos desde el momento en que se detiene el audio.

Si una página web contiene dos vídeos que se inician en secuencia, esta señal se emite sólo una vez para que el primer vídeo genere sonido. Una vez que ambos vídeos se detienen, la señal se emite al generarse el último sonido. Esto significa que la señal se emite tanto cuando se genera cualquier tipo de sonido como cuando todo está completamente en silencio dentro de una página web, independientemente del número de flujos de audio.

También pueden producirse emisiones espurias de señal. Por ejemplo, cuando el sonido se detiene, esta señal se emite primero con un valor de true, y después con un valor de false. Además, cuando el audio comienza a reproducirse, la señal se emite dos veces con un valor de true.

Nota: Señal notificadora para la propiedad recentlyAudible.

Véase también recentlyAudible.

[signal] void QWebEnginePage::registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)

Esta señal se emite cuando la página web intenta registrar un protocolo personalizado utilizando la API registerProtocolHandler.

El objeto de solicitud request se puede utilizar para aceptar o rechazar la solicitud:

void WebView::handleRegisterProtocolHandlerRequested(
        QWebEngineRegisterProtocolHandlerRequest request)
{
    auto answer = QMessageBox::question(window(), tr("Permission Request"),
                                        tr("Allow %1 to open all %2 links?")
                                                .arg(request.origin().host())
                                                .arg(request.scheme()));
    if (answer == QMessageBox::Yes)
        request.accept();
    else
        request.reject();
}

[signal] void QWebEnginePage::renderProcessPidChanged(qint64 pid)

Esta señal se emite cuando el PID del proceso de renderizado subyacente, pid, cambia.

Nota: Señal notificadora para la propiedad renderProcessPid.

[signal] void QWebEnginePage::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)

Esta señal se emite cuando el proceso de renderizado finaliza con un estado de salida distinto de cero. terminationStatus es el estado de finalización del proceso y exitCode es el código de estado con el que finalizó el proceso.

void QWebEnginePage::replaceMisspelledWord(const QString &replacement)

Sustituya la palabra mal escrita actual por replacement.

La palabra mal escrita actual se puede encontrar en QWebEngineContextMenuRequest::misspelledWord(), y los reemplazos sugeridos en QWebEngineContextMenuRequest::spellCheckerSuggestions().

void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {})

void QWebEnginePage::runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback)

Ejecuta el código JavaScript contenido en scriptSource sin comprobar si se ha construido el DOM de la página. Si necesita más control sobre cómo se ejecuta el script, considere utilizar scripts() en su lugar.

Para evitar conflictos con otros scripts ejecutados en la página, el mundo en el que se ejecuta el script se especifica mediante worldId. Los valores de ID de mundo son los mismos que los proporcionados por QWebEngineScript::ScriptWorldId, y entre 0 y 256. Si omite el ID world, el script se ejecuta en MainWorld.

Cuando se ha ejecutado el script, se llama a resultCallback con el resultado de la última sentencia ejecutada. resultCallback puede ser cualquiera de los siguientes: un puntero de función, un functor o un lambda, y se espera que tome un parámetro QVariant. Por ejemplo:

page.runJavaScript("document.title", [](const QVariant &v) { qDebug() << v.toString(); });

Sólo los datos planos pueden ser devueltos desde JavaScript como valor de resultado. Los tipos de datos admitidos incluyen todos los tipos de datos JSON, así como, por ejemplo, Date y ArrayBuffer. Los tipos de datos no admitidos son, por ejemplo, Function y Promise.

Advertencia: No ejecute rutinas largas en la función callback, ya que podría bloquear la renderización de la página del motor web.

Advertencia: Garantizamos que la llamada de retorno (resultCallback) se llama siempre, pero podría hacerse durante la destrucción de la página. Cuando se elimina QWebEnginePage, la llamada de retorno se lanza con un valor no válido y no es seguro utilizar la instancia correspondiente de QWebEnginePage o QWebEngineView dentro de ella.

Véase también scripts(), QWebEngineScript::ScriptWorldId, QWebEngineFrame::runJavaScript y Script Injection.

void QWebEnginePage::save(const QString &filePath, QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::MimeHtmlSaveFormat) const

Guarda en disco la página web cargada actualmente.

La página web se guarda en filePath en el format especificado.

Este es un atajo para las siguientes acciones:

  • Activar la acción Guardar web.
  • Aceptar el siguiente elemento de descarga y establecer la ruta de archivo y el formato de guardado especificados.

Esta función emite una solicitud de descarga asíncrona de la página web y la devuelve inmediatamente.

Véase también QWebEngineDownloadRequest::SavePageFormat.

QWebEngineScriptCollection &QWebEnginePage::scripts()

Devuelve la colección de scripts que se inyectan en la página.

Además, una página también puede ejecutar scripts añadidos a través de QWebEngineProfile::scripts().

Véase también QWebEngineScriptCollection, QWebEngineScript y Script Injection.

[signal] void QWebEnginePage::selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)

Esta señal se emite cuando un sitio web solicita un certificado SSL de cliente, y se han encontrado uno o más en el almacén de certificados de cliente del sistema.

El manejo de la señal es asíncrono, y la carga esperará hasta que se seleccione un certificado, o se destruya la última copia de clientCertificateSelection.

Si no se gestiona la señal, clientCertificateSelection se destruirá automáticamente y la carga continuará sin un certificado de cliente.

Véase también QWebEngineClientCertificateSelection.

[signal] void QWebEnginePage::selectionChanged()

Esta señal se emite cada vez que cambia la selección, ya sea interactiva o programáticamente. Por ejemplo, llamando a triggerAction() con una acción de selección.

Nota: Cuando se utiliza el ratón para seleccionar texto haciendo clic con el botón izquierdo y arrastrando, la señal se emitirá por cada nuevo carácter seleccionado, y no al soltar el botón izquierdo del ratón.

Véase también selectedText().

void QWebEnginePage::setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())

Establece el contenido de la página web en data. Si el argumento mimeType está vacío, se asume que el contenido es text/plain,charset=US-ASCII.

Los objetos externos a los que se hace referencia en el contenido se ubican en relación con baseUrl. Para que se carguen los objetos externos con URL relativas, baseUrl no puede estar vacío.

data se carga inmediatamente; los objetos externos se cargan de forma asíncrona.

Nota: Este método no afectará a la sesión ni al historial global de la página.

Advertencia: El contenido será codificado porcentualmente antes de ser enviado al renderizador. Esto puede aumentar su tamaño. El tamaño máximo del contenido codificado porcentualmente es de 2 megabytes menos 6 bytes más la longitud de la cadena de tipo mime.

Véase también toHtml() y setHtml().

void QWebEnginePage::setDevToolsPage(QWebEnginePage *devToolsPage)

Enlaza devToolsPage para ser las herramientas de desarrollador de esta página. Activa devToolsPage para navegar a una URL interna con las herramientas de desarrollo.

Esto es lo mismo que llamar a setInspectedPage() en devToolsPage con this como argumento.

Véase también devToolsPage() y setInspectedPage().

void QWebEnginePage::setHtml(const QString &html, const QUrl &baseUrl = QUrl())

Establece el contenido de esta página en html. baseUrl es opcional y se utiliza para resolver URL relativas en el documento, como imágenes u hojas de estilo referenciadas.

html se carga inmediatamente; los objetos externos se cargan de forma asíncrona.

Si una secuencia de comandos en html se ejecuta durante más tiempo que el tiempo de espera predeterminado para secuencias de comandos (actualmente 10 segundos), por ejemplo debido a que está bloqueada por un cuadro de diálogo modal de alerta de JavaScript, este método regresará tan pronto como sea posible después del tiempo de espera y cualquier html posterior se cargará de forma asíncrona.

Cuando se utiliza este método, el motor web asume que los recursos externos, como programas JavaScript u hojas de estilo, están codificados en UTF-8 a menos que se especifique lo contrario. Por ejemplo, la codificación de un script externo puede especificarse a través del atributo charset de la etiqueta script de HTML. También es posible que la codificación sea especificada por el servidor web.

Esta función es equivalente a setContent(html, "text/html", baseUrl).

Nota: Este método no afectará a la sesión ni al historial global de la página.

Advertencia: Esta función sólo funciona para HTML. Para otros tipos MIME (como XHTML y SVG) debe utilizarse setContent().

Advertencia: El contenido será codificado porcentualmente antes de ser enviado al renderizador. Esto puede aumentar su tamaño. El tamaño máximo del contenido codificado porcentualmente es de 2 megabytes menos 30 bytes.

Véase también toHtml(), setContent(), y load().

void QWebEnginePage::setInspectedPage(QWebEnginePage *page)

Navega esta página a una URL interna que son las herramientas de desarrollo de page.

Esto es lo mismo que llamar a setDevToolsPage() en page con this como argumento.

Véase también inspectedPage() y setDevToolsPage().

void QWebEnginePage::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)

Registra el interceptor de peticiones interceptor para interceptar peticiones URL.

La página no se apropia del puntero. Este interceptor se llama después de cualquier interceptor en el perfil, y a diferencia de los interceptores de perfil, sólo se interceptan las peticiones URL de esta página. Si la petición original ya ha sido bloqueada o redirigida por el interceptor del perfil, no será interceptada por éste.

Para desactivar el interceptor de peticiones, escriba a nullptr.

Véase también QWebEngineUrlRequestInfo y QWebEngineProfile::setUrlRequestInterceptor().

void QWebEnginePage::setWebChannel(QWebChannel *channel, quint32 worldId = 0)

Establece la instancia del canal web que utilizará esta página en channel y la conecta al transporte del motor web utilizando mensajes IPC de Chromium. El transporte se expone en el mundo JavaScript worldId como qt.webChannelTransport, que debe utilizarse cuando se utiliza la API JavaScriptQt WebChannel .

Nota: La página no toma posesión del objeto canal.

Nota: Sólo se puede instalar un canal web por página, establecer uno incluso en otro mundo JavaScript desinstala cualquier canal web ya instalado.

Véase también webChannel() y QWebEngineScript::ScriptWorldId.

QWebEngineSettings *QWebEnginePage::settings() const

Devuelve un puntero al objeto de configuración de la página.

[signal] void QWebEnginePage::titleChanged(const QString &title)

Esta señal se emite cada vez que cambia el título de la página. La cadena title especifica el nuevo título.

Nota: Señal notificadora para la propiedad title.

Véase también title().

void QWebEnginePage::toHtml(const std::function<void (const QString &)> &resultCallback) const

Método asíncrono para recuperar el contenido de la página como HTML, encerrado en etiquetas HTML y BODY. Una vez completado con éxito, se llama a resultCallback con el contenido de la página.

Nota: resultCallback puede ser un puntero de función, un functor o un lambda, y se espera que reciba un parámetro QString.

Advertencia: Garantizamos que la llamada de retorno (resultCallback) se llama siempre, pero podría hacerse durante la destrucción de la página. Cuando se elimina QWebEnginePage, la llamada de retorno se lanza con un valor no válido y no es seguro utilizar la instancia correspondiente de QWebEnginePage o QWebEngineView dentro de ella.

Véase también setHtml() y toPlainText().

void QWebEnginePage::toPlainText(const std::function<void (const QString &)> &resultCallback) const

Método asíncrono para recuperar el contenido de la página convertido a texto plano, completamente desprovisto de todo formato HTML. Una vez completado con éxito, se llama a resultCallback con el contenido de la página.

Nota: resultCallback puede ser un puntero de función, un functor o un lambda, y se espera que reciba un parámetro QString.

Advertencia: Garantizamos que la llamada de retorno (resultCallback) se llama siempre, pero podría hacerse durante la destrucción de la página. Cuando se elimina QWebEnginePage, la llamada de retorno se lanza con un valor no válido y no es seguro utilizar la instancia correspondiente de QWebEnginePage o QWebEngineView dentro de ella.

Véase también toHtml().

[virtual] void QWebEnginePage::triggerAction(QWebEnginePage::WebAction action, bool checked = false)

Esta función puede invocarse para activar la acción especificada en action. También es llamada por Qt WebEngine si el usuario activa la acción, por ejemplo a través de un elemento del menú contextual.

Si action es una acción controlable, entonces checked especifica si la acción es controlable o no.

Véase también action().

[signal] void QWebEnginePage::urlChanged(const QUrl &url)

Esta señal se emite con la URL de la página cuando se recibe el título de la página. La nueva URL se especifica en url.

Nota: Señal notificadora para la propiedad url.

Véase también url().

[signal, since 6.7] void QWebEnginePage::webAuthUxRequested(QWebEngineWebAuthUxRequest *request)

Esta señal se emite cuando un autenticador WebAuth necesita la interacción del usuario durante el proceso de autenticación. Estas solicitudes se gestionan mostrando un cuadro de diálogo al usuario.

request contiene la información y la API necesarias para completar la solicitud WebAuth UX.

Esta función se introdujo en Qt 6.7.

Véase también QWebEngineWebAuthUxRequest.

QWebChannel *QWebEnginePage::webChannel() const

Devuelve un puntero a la instancia del canal web utilizado por esta página o un puntero nulo si no se ha establecido ninguno. Este canal utiliza automáticamente el mecanismo de transporte interno del motor web sobre Chromium IPC que se expone en el contexto JavaScript de esta página como qt.webChannelTransport.

Véase también setWebChannel().

[signal] void QWebEnginePage::windowCloseRequested()

Esta señal se emite cada vez que la página solicita que se cierre la ventana del navegador web, por ejemplo a través de la llamada a JavaScript window.close().

Véase también RequestClose.

[signal, since 6.8] void QWebEnginePage::zoomFactorChanged(qreal factor)

Esta señal se emite cada vez que cambia el zoom factor de la página.

Nota: Señal notificadora para la propiedad zoomFactor.

Esta función se introdujo en Qt 6.8.

Véase también zoomFactor() y setZoomFactor().

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