QWebEngineFrame Class
La clase QWebEngineFrame proporciona información y control sobre un marco de página. Más...
| Cabecera: | #include <QWebEngineFrame> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| Desde: | Qt 6.8 |
| En QML: | webEngineFrame |
Propiedades
|
Funciones públicas
| QList<QWebEngineFrame> | children() const |
| QString | htmlName() const |
| bool | isMainFrame() const |
| bool | isValid() const |
| QString | name() const |
| void | printToPdf(const QString &filePath) |
| void | printToPdf(const std::function<void (const QByteArray &)> &callback) |
| void | runJavaScript(const QString &script, const std::function<void (const QVariant &)> &callback) |
| void | runJavaScript(const QString &script, quint32 worldId = 0) |
| void | runJavaScript(const QString &script, quint32 worldId, const std::function<void (const QVariant &)> &callback) |
| QSizeF | size() const |
| QUrl | url() const |
Relacionados No Miembros
| bool | operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right) |
| bool | operator==(const QWebEngineFrame &left, const QWebEngineFrame &right) |
Descripción detallada
Un marco de motor web representa un único marco dentro de una página web, como los creados por los elementos HTML <frame> o <iframe>. Un QWebEnginePage activo tiene uno o más marcos dispuestos en una estructura de árbol. Se puede acceder al marco de nivel superior, la raíz de este árbol, a través del método mainFrame(), y children() proporciona los descendientes directos de un marco.
La vida de un marco es, como máximo, tan larga como el objeto QWebEnginePage que lo produjo. Sin embargo, los frames pueden ser creados y borrados espontánea y dinámicamente, por ejemplo a través de la navegación y la ejecución de scripts. Debido a esto, muchos métodos de QWebEngineFrame devuelven valores opcionales, que serán std::nullopt si el frame ya no existe.
Documentación de propiedades
[read-only] children : QList<QWebEngineFrame>
Esta propiedad contiene una lista de los hijos del marco en un orden arbitrario.
Si no se encuentra el marco, devuelve una lista vacía.
Funciones de acceso:
| QList<QWebEngineFrame> | children() const |
[read-only] htmlName : QString
Esta propiedad contiene el valor del atributo HTML name del marco, o una cadena vacía si no tiene ninguno.
Si no se encuentra el marco, devuelve un valor nulo QString.
Funciones de acceso:
| QString | htmlName() const |
Véase también name.
[read-only] isMainFrame : bool
Esta propiedad indica si este objeto representa el marco principal de la página.
Funciones de acceso:
| bool | isMainFrame() const |
[read-only] isValid : bool
Esta propiedad indica si este objeto representa un marco existente.
Una vez que un marco es inválido, nunca vuelve a ser válido.
Funciones de acceso:
| bool | isValid() const |
[read-only] name : QString
Esta propiedad contiene el nombre del marco; es decir, lo que devolvería window.name en JavaScript.
Si no se encuentra el marco, devuelve un valor nulo QString.
Funciones de acceso:
| QString | name() const |
Véase también htmlName.
[read-only] size : QSizeF
Esta propiedad contiene el tamaño del marco dentro de la ventana gráfica, 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 la escala. En estos casos, el tamaño puede contener valores fraccionarios.
Si no se encuentra el marco, devuelve QSizeF().
Funciones de acceso:
| QSizeF | size() const |
[read-only] url : QUrl
Esta propiedad contiene la URL del contenido actualmente cargado en este marco.
Si no se encuentra el marco, devuelve un QUrl vacío.
Funciones de acceso:
| QUrl | url() const |
Documentación de las funciones miembro
[invokable] void QWebEngineFrame::printToPdf(const QString &filePath)
Renderiza el contenido actual del marco en un documento PDF y lo guarda en la ubicación especificada en filePath. La impresión utiliza un tamaño de página A4, diseño vertical, e incluye la gama completa de 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 QWebEnginePage::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á.
Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.
Véase también QWebEnginePage::pdfPrintingFinished().
void QWebEngineFrame::printToPdf(const std::function<void (const QByteArray &)> &callback)
Renderiza el contenido actual del marco en un documento PDF y devuelve una matriz de bytes que contiene los datos PDF como parámetro a callback. La impresión utiliza un tamaño de página A4, diseño vertical, e incluye toda la gama de páginas.
callback debe tomar como parámetro una referencia const 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.
void QWebEngineFrame::runJavaScript(const QString &script, const std::function<void (const QVariant &)> &callback)
[invokable] void QWebEngineFrame::runJavaScript(const QString &script, quint32 worldId = 0)
void QWebEngineFrame::runJavaScript(const QString &script, quint32 worldId, const std::function<void (const QVariant &)> &callback)
Ejecuta el código JavaScript contenido en script en este marco, sin comprobar si se ha construido el DOM de la página. 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 se omite el ID world, el script se ejecuta en MainWorld. Cuando el script se ha ejecutado, se llama a callback con el resultado de la última sentencia ejecutada. callback 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:
Sólo se pueden devolver datos planos 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 siempre se llama a callback, 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 QWebEngineScript::ScriptWorldId, QWebEnginePage::runJavaScript, y Script Injection.
No miembros relacionados
[noexcept] bool operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right)
Devuelve true si left y right representan marcos diferentes en la misma página web, en caso contrario false.
[noexcept] bool operator==(const QWebEngineFrame &left, const QWebEngineFrame &right)
Devuelve true si left y right representan el mismo marco en la misma página web, en caso contrario false.
© 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.