QWebEngineFrame Class
La classe QWebEngineFrame fournit des informations sur un cadre de page et permet de le contrôler. Plus d'informations...
| En-tête : | #include <QWebEngineFrame> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake : | QT += webenginecore |
| Depuis : | Qt 6.8 |
| En QML : | webEngineFrame |
Propriétés
|
Fonctions publiques
| 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 |
Non-membres apparentés
| bool | operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right) |
| bool | operator==(const QWebEngineFrame &left, const QWebEngineFrame &right) |
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>. Un site QWebEnginePage actif 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 méthode mainFrame(), et children() fournit les descendants directs d'un cadre.
La durée de vie d'un cadre est, au maximum, aussi longue que l'objet QWebEnginePage qui l'a produit. Cependant, les 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. C'est pourquoi de nombreuses méthodes de QWebEngineFrame renvoient des valeurs optionnelles, qui seront std::nullopt si le cadre n'existe plus.
Documentation sur les propriétés
[read-only] children : QList<QWebEngineFrame>
Cette propriété contient une liste des enfants du cadre dans un ordre arbitraire.
Si le cadre n'a pas pu être trouvé, elle renvoie une liste vide.
Fonctions d'accès :
| QList<QWebEngineFrame> | children() const |
[read-only] htmlName : QString
Cette propriété contient 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é, elle renvoie une valeur nulle QString.
Fonctions d'accès :
| QString | htmlName() const |
Voir également name.
[read-only] isMainFrame : bool
Cette propriété indique si cet objet représente le cadre principal de la page.
Fonctions d'accès :
| bool | isMainFrame() const |
[read-only] isValid : bool
Cette propriété indique si cet objet représente un cadre existant.
Une fois qu'un cadre est invalide, il ne redevient jamais valide.
Fonctions d'accès :
| bool | isValid() const |
[read-only] name : QString
Cette propriété contient 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 valeur nulle QString.
Fonctions d'accès :
| QString | name() const |
Voir également htmlName.
[read-only] size : QSizeF
Cette propriété indique la 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 l'application de la mise à l'échelle. Dans ce cas, la taille peut contenir des valeurs fractionnaires.
Si le cadre n'a pas pu être trouvé, renvoie QSizeF().
Fonctions d'accès :
| QSizeF | size() const |
[read-only] url : QUrl
Cette propriété contient l'URL du contenu actuellement chargé dans ce cadre.
Si le cadre n'a pas pu être trouvé, il renvoie une adresse vide QUrl.
Fonctions d'accès :
| QUrl | url() const |
Documentation des fonctions membres
[invokable] void QWebEngineFrame::printToPdf(const QString &filePath)
Rend le contenu actuel du cadre dans un document PDF et l'enregistre à l'emplacement spécifié dans filePath. L'impression utilise une taille de page A4, une mise en page portrait, et inclut l'ensemble des pages.
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 demande, connectez-vous au signal QWebEnginePage::pdfPrintingFinished().
Remarque : l'action web QWebEnginePage::Stop peut être utilisée pour interrompre cette opération asynchrone.
Si un fichier existe déjà dans le chemin d'accès fourni, il sera écrasé.
Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
Voir également QWebEnginePage::pdfPrintingFinished().
void QWebEngineFrame::printToPdf(const std::function<void (const QByteArray &)> &callback)
Rend le contenu actuel du cadre dans un document PDF et renvoie un tableau d'octets contenant les données PDF en tant que paramètre de callback. L'impression utilise une taille de page A4, une mise en page portrait, et inclut l'ensemble des pages.
L'adresse callback doit prendre en paramètre une référence constante à l'adresse QByteArray. Si l'impression a réussi, ce tableau d'octets contiendra les données PDF, sinon, le tableau d'octets sera vide.
Remarque : l'action web QWebEnginePage::Stop peut être utilisée pour interrompre cette opération.
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)
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. Lorsque le script a été exécuté, callback est appelé avec le résultat de la dernière instruction exécutée. callback peut être un pointeur de fonction, un foncteur ou un lambda, et il est censé prendre un paramètre QVariant. A titre d'exemple :
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.
Attention : N'exécutez pas de longues routines dans la fonction de rappel, car cela pourrait bloquer le rendu de la page du moteur web.
Attention : Nous garantissons que la fonction callback est toujours appelée, mais il se peut qu'elle le soit lors de la destruction de la page. Lorsque QWebEnginePage est supprimé, la fonction de rappel est déclenchée avec une valeur non valide et il n'est pas sûr d'utiliser l'instance QWebEnginePage ou QWebEngineView correspondante à l'intérieur de celle-ci.
Voir également QWebEngineScript::ScriptWorldId, QWebEnginePage::runJavaScript, et Script Injection.
Non-membres apparentés
[noexcept] bool operator!=(const QWebEngineFrame &left, const QWebEngineFrame &right)
Renvoie true si left et right représentent des cadres différents dans la même page web, sinon false.
[noexcept] bool operator==(const QWebEngineFrame &left, const QWebEngineFrame &right)
Renvoie true si left et right représentent le même cadre dans la même page web, sinon 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.