Sur cette page

webEngineFrame QML Value Type

webEngineFrame fournit des informations sur un cadre de page et permet de le contrôler. Plus d'informations...

Import Statement: import QtWebEngine
Since: Qt 6.8
In C++: QWebEngineFrame

Propriétés

Méthodes

Description détaillée

Un cadre de moteur web représente un cadre unique dans une page web, comme ceux créés par les éléments HTML <frame> ou <iframe>. Une page active WebEngineView comporte un ou plusieurs cadres disposés dans une structure arborescente. Le cadre de niveau supérieur, la racine de cet arbre, est accessible via la propriété mainFrame de la vue.

La durée de vie d'un cadre est au maximum égale à celle de l'objet WebEngineView qui l'a produit. Toutefois, des cadres peuvent être créés et supprimés spontanément et dynamiquement, par exemple lors de la navigation et de l'exécution de scripts.

Documentation sur les propriétés

children : list<webEngineFrame> [read-only, since QtWebEngine 6.10]

Renvoie une liste des enfants du cadre dans un ordre arbitraire.

Si le cadre n'a pas pu être trouvé, il renvoie une liste vide.

Cette propriété a été introduite dans QtWebEngine 6.10.

htmlName : string [read-only]

Renvoie la valeur de l'attribut HTML name du cadre, ou une chaîne vide s'il n'y en a pas.

Si le cadre n'a pas pu être trouvé, il renvoie une chaîne vide.

Voir aussi name.

isMainFrame : bool [read-only]

Renvoie true si cet objet représente le cadre principal de la page ; false dans le cas contraire.

isValid : bool [read-only]

Renvoie true si cet objet représente un cadre existant ; false dans le cas contraire.

Une fois qu'un cadre est invalide, il ne redevient jamais valide.

name : string [read-only]

Renvoie le nom du cadre, c'est-à-dire ce qui serait renvoyé par window.name en JavaScript.

Si le cadre n'a pas pu être trouvé, il renvoie une chaîne vide.

Voir aussi htmlName.

size : size [read-only]

Taille du cadre dans la fenêtre d'affichage, mesurée en pixels logiques. Sur les appareils dont le facteur d'échelle est différent de 100 %, cette taille ne correspondra pas à la taille à l'écran, mais à la taille avant la mise à l'échelle. Dans ce cas, la taille peut contenir des valeurs fractionnaires.

Si le cadre n'a pas pu être trouvé, il renvoie une taille par défaut avec les dimensions (-1, -1).

url : url [read-only]

Renvoie l'URL du contenu actuellement chargé dans ce cadre.

Si le cadre n'a pas pu être trouvé, renvoie une URL vide.

Documentation de la méthode

void printToPdf(string filePath)

Imprime le contenu actuel du cadre dans un document PDF et le stocke sous filePath. Le document résultant aura une taille de page A4 et une orientation portrait.

Cette méthode émet une requête asynchrone pour l'impression de la page web en PDF et renvoie immédiatement. Pour être informé du résultat de la requête, connectez-vous au signal WebEngineView::pdfPrintingFinished().

Voir aussi WebEngineView::pdfPrintingFinished().

void printToPdf(variant callback)

Imprime le contenu actuel du cadre dans un document PDF et le renvoie dans un tableau d'octets. Le document résultant aura une taille de page A4 et une orientation portrait.

L'adresse callback doit prendre un paramètre de type chaîne de caractères. Cette chaîne contiendra les données du document si l'impression est réussie et une chaîne vide dans le cas contraire.

void runJavaScript(string script, variant callback)

void runJavaScript(string script, uint worldId, variant callback)

Exécute le code JavaScript contenu dans script sur ce cadre, sans vérifier si le DOM de la page a été construit.

Pour éviter les conflits avec d'autres scripts exécutés sur la page, le monde dans lequel le script est exécuté est spécifié par worldId. Les valeurs de l'ID du monde sont les mêmes que celles fournies par QWebEngineScript::ScriptWorldId, et entre 0 et 256. Si vous omettez l'ID world, le script est exécuté dans le monde MainWorld.

Le paramètre callback est facultatif. Si une fonction de rappel est fournie, elle sera invoquée à la fin de l'exécution du script.

frame.runJavaScript("document.title", function(result) { console.log(result); });

Seules des données simples peuvent être renvoyées par JavaScript en tant que valeur de résultat. Les types de données pris en charge comprennent tous les types de données JSON ainsi que, par exemple, Date et ArrayBuffer. Les types de données non pris en charge sont, par exemple, Function et Promise.

Le script s'exécutera dans le même monde que les autres scripts qui font partie du site chargé.

Attention : N'exécutez pas de longues routines dans la fonction de rappel, car cela pourrait bloquer le rendu du contenu web.

Pour plus d'informations sur l'injection de scripts, voir Injection de scripts. Pour une autre façon d'injecter des scripts, voir WebEngineView::userScripts.

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