Sur cette page

QWebEnginePage Class

La classe QWebEnginePage fournit un objet permettant de visualiser et d'éditer des documents web. Plus d'informations...

En-tête : #include <QWebEnginePage>
CMake : find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake : QT += webenginecore
Héritages : QObject

Types publics

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 }

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

virtual bool event(QEvent *e) override

Signaux

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)

Fonctions protégées

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)

Description détaillée

Une page de moteur web contient le contenu d'un document HTML, l'historique des liens navigués et des actions.

L'API de QWebEnginePage est très similaire à celle de QWebEngineView, car vous disposez toujours de fonctions communes telles que action() (appelée pageAction() dans QWebEngineView), triggerAction() et findText().

Une page peut être chargée à l'aide de load() ou setUrl(). Si vous disposez du contenu HTML, vous pouvez également utiliser setHtml(). La méthode GET est toujours utilisée pour charger les URL.

La classe QWebEnginePage propose également des méthodes pour récupérer l'URL actuellement chargée par la page (voir url()) ainsi que l'URL initialement demandée pour être chargée (voir requestedUrl()). Ces méthodes permettent de récupérer l'URL avant et après une résolution DNS ou une redirection au cours du processus de chargement. L'adresse requestedUrl() correspond également à l'URL ajoutée à l'historique de la page (QWebEngineHistory) si le chargement est réussi.

Le titre d'une page HTML est accessible à l'aide de la propriété title(). En outre, une page peut également spécifier une icône, accessible à l'aide de la propriété icon() ou de son URL à l'aide de la propriété iconUrl(). Si le titre ou l'icône change, les signaux titleChanged(), iconChanged() et iconUrlChanged() correspondants sont émis. La propriété zoomFactor() permet d'agrandir le contenu de la page web en fonction d'un facteur d'échelle.

Le signal loadStarted() est émis lorsque la page commence à se charger, tandis que le signal loadProgress() est émis lorsqu'un élément de la page web achève son chargement, comme une image intégrée ou un script. Le signal loadFinished() est émis lorsque le contenu de la page a été complètement chargé, indépendamment de l'exécution du script ou du rendu de la page. Son argument, true ou false, indique si l'opération de chargement a réussi ou non.

Un document HTML est chargé dans un cadre principal de la page web. S'il fait référence à des cadres enfants (définis par les éléments <frame> ou <iframe> ), ceux-ci sont considérés comme faisant partie du contenu. Les cadres enfants ne sont accessibles individuellement qu'au moyen de JavaScript.

Les sites web définissent une origine de sécurité pour accéder en toute sécurité aux ressources des autres sites pour les scripts côté client ou les bases de données. Une origine se compose d'un nom d'hôte, d'un schéma et d'un numéro de port. Par exemple, les sites http://www.example.com/my/page.html et http://www.example.com/my/overview.html sont autorisés à partager la même base de données ou à accéder aux documents de l'autre lorsqu'ils sont utilisés dans des jeux de cadres HTML et JavaScript. Dans le même temps, http://www.malicious.com/evil.html ne peut pas accéder aux ressources de http://www.example.com/, car leur origine de sécurité est différente. Par défaut, les schémas locaux tels que file:// et qrc:// sont considérés comme ayant la même origine de sécurité et peuvent accéder à leurs ressources respectives. Par défaut, les ressources locales ne peuvent pas accéder au contenu distant, ce qui signifie que file:// ne pourra pas accéder à http://domain.com/foo.html.

Les scripts peuvent être exécutés sur la page web en utilisant runJavaScript(), soit dans le monde JavaScript principal, avec le reste du JavaScript provenant du contenu web, soit dans leur propre monde isolé. Alors que le DOM de la page est accessible depuis n'importe quel monde, les variables JavaScript d'une fonction définie dans un monde ne sont pas accessibles depuis un autre monde. QWebEngineScript::ScriptWorldId fournit des identifiants prédéfinis à cet effet. L'utilisation de la version runJavaScript() sans l'identifiant du monde revient à exécuter le script dans la version MainWorld.

Le paramètre FocusOnNavigationEnabled peut être utilisé pour que la vue associée à la page reçoive automatiquement le focus lorsqu'une opération de navigation se produit (comme le chargement ou le rechargement d'une page ou la navigation dans l'historique).

Documentation sur les types de membres

enum QWebEnginePage::FileSelectionMode

Cette énumération indique si l'implémentation de la fonction chooseFiles() doit renvoyer un seul fichier ou si elle peut renvoyer plusieurs fichiers :

ConstanteValeurDescription
QWebEnginePage::FileSelectOpen0Renvoie un seul nom de fichier.
QWebEnginePage::FileSelectOpenMultiple1Renvoie plusieurs noms de fichiers.
QWebEnginePage::FileSelectUploadFolder2Permet aux utilisateurs de spécifier un seul dossier existant à télécharger.
QWebEnginePage::FileSelectSave3Indique un nouveau fichier à créer.

Voir également chooseFiles().

enum QWebEnginePage::FindFlag
flags QWebEnginePage::FindFlags

Cette énumération décrit les options disponibles pour la fonction findText(). Les options peuvent être combinées par OU à partir de la liste suivante :

ConstanteValeurDescription de l'option
QWebEnginePage::FindBackward1Recherche à l'envers plutôt qu'à l'endroit.
QWebEnginePage::FindCaseSensitively2Par défaut, findText() ne tient pas compte de la casse. La spécification de cette option modifie le comportement en faveur d'une opération de recherche sensible à la casse.

Le type FindFlags est un typedef pour QFlags<FindFlag>. Il stocke une combinaison OU de valeurs FindFlag.

enum QWebEnginePage::JavaScriptConsoleMessageLevel

Cette énumération décrit les différents niveaux de gravité que peut avoir un message de console JavaScript :

ConstanteValeurDescription
QWebEnginePage::InfoMessageLevel0Le message est purement informatif et peut être ignoré.
QWebEnginePage::WarningMessageLevel1Le message informe d'un comportement inattendu ou d'erreurs qui peuvent nécessiter une attention particulière.
QWebEnginePage::ErrorMessageLevel2Le message indique qu'une erreur s'est produite.

enum class QWebEnginePage::LifecycleState

Cette énumération décrit l'état du cycle de vie de la page :

ConstanteValeurDescription de l'état
QWebEnginePage::LifecycleState::Active0État normal.
QWebEnginePage::LifecycleState::Frozen1État de faible utilisation de l'unité centrale où la plupart des sources de tâches HTML sont suspendues.
QWebEnginePage::LifecycleState::Discarded2État d'utilisation très faible des ressources où l'ensemble du contexte de navigation est abandonné.

Voir aussi lifecycleState, Page Lifecycle API, et WebEngine Lifecycle Example.

Cette énumération décrit le type de demande de navigation :

ConstanteValeurDescription de la demande
QWebEnginePage::NavigationTypeLinkClicked0La demande de navigation résulte d'un lien cliqué.
QWebEnginePage::NavigationTypeTyped1La demande de navigation résulte d'une URL explicitement chargée.
QWebEnginePage::NavigationTypeFormSubmitted2La demande de navigation résulte de la soumission d'un formulaire.
QWebEnginePage::NavigationTypeBackForward3La demande de navigation résulte d'une action de retour ou d'avance.
QWebEnginePage::NavigationTypeReload4La demande de navigation résulte d'une action de rechargement.
QWebEnginePage::NavigationTypeRedirect (since Qt 5.14)6La demande de navigation résulte d'une redirection contrôlée par le contenu ou le serveur. Cela comprend également les recharges automatiques.
QWebEnginePage::NavigationTypeOther5La demande de navigation a été déclenchée par d'autres moyens non couverts par ce qui précède.

Voir également acceptNavigationRequest().

enum QWebEnginePage::RenderProcessTerminationStatus

Cette énumération décrit l'état dans lequel le processus de rendu s'est terminé :

ConstanteValeurDescription
QWebEnginePage::NormalTerminationStatus0Le processus de rendu s'est terminé normalement.
QWebEnginePage::AbnormalTerminationStatus1Le processus de rendu s'est terminé avec un état de sortie non nul.
QWebEnginePage::CrashedTerminationStatus2Le processus de rendu s'est arrêté, par exemple à cause d'une erreur de segmentation.
QWebEnginePage::KilledTerminationStatus3Le processus de rendu a été tué, par exemple par SIGKILL ou par le gestionnaire de tâches.

enum QWebEnginePage::WebAction

Cette énumération décrit les types d'actions qui peuvent être effectuées sur la page web.

Les actions n'ont d'effet que lorsqu'elles sont applicables.

La disponibilité des actions peut être déterminée en vérifiant isEnabled() sur l'action renvoyée par action().

ConstanteValeurDescription de l'action
QWebEnginePage::NoWebAction- 1Aucune action n'est déclenchée.
QWebEnginePage::Back0Naviguer vers l'arrière dans l'historique des liens navigués.
QWebEnginePage::Forward1Naviguer vers l'avant dans l'historique des liens navigués.
QWebEnginePage::Stop2Arrêter le chargement de la page en cours.
QWebEnginePage::Reload3Recharger la page actuelle.
QWebEnginePage::ReloadAndBypassCache10Recharger la page actuelle, mais sans utiliser le cache local.
QWebEnginePage::Cut4Couper le contenu sélectionné dans le presse-papiers.
QWebEnginePage::Copy5Copier le contenu sélectionné dans le presse-papiers.
QWebEnginePage::Paste6Coller le contenu du presse-papiers.
QWebEnginePage::Undo7Annuler la dernière action d'édition.
QWebEnginePage::Redo8Refaire la dernière action d'édition.
QWebEnginePage::SelectAll9Sélectionner tout le contenu. Cette action n'est activée que lorsque le contenu de la page est focalisé. Le focus peut être forcé par l'appel JavaScript window.focus(), ou le paramètre FocusOnNavigationEnabled doit être activé pour obtenir un focus automatique.
QWebEnginePage::PasteAndMatchStyle11Coller le contenu du presse-papiers avec le style actuel.
QWebEnginePage::OpenLinkInThisWindow (since Qt 5.6)12Ouvrir le lien actuel dans la fenêtre actuelle.
QWebEnginePage::OpenLinkInNewWindow (since Qt 5.6)13Ouvrir le lien actuel dans une nouvelle fenêtre. Nécessite l'implémentation de createWindow() ou newWindowRequested().
QWebEnginePage::OpenLinkInNewTab (since Qt 5.6)14Ouvrir le lien actuel dans un nouvel onglet. Nécessite l'implémentation de createWindow() ou newWindowRequested().
QWebEnginePage::OpenLinkInNewBackgroundTab (since Qt 5.7)31Ouvrir le lien actuel dans un nouvel onglet en arrière-plan. Nécessite l'implémentation de createWindow() ou newWindowRequested().
QWebEnginePage::CopyLinkToClipboard (since Qt 5.6)15Copier le lien actuel dans le presse-papiers.
QWebEnginePage::CopyImageToClipboard (since Qt 5.6)17Copie de l'image cliquée dans le presse-papiers.
QWebEnginePage::CopyImageUrlToClipboard (since Qt 5.6)18Copie de l'URL de l'image cliquée dans le presse-papiers.
QWebEnginePage::CopyMediaUrlToClipboard (since Qt 5.6)20Copier l'URL de l'audio ou de la vidéo survolée dans le presse-papiers.
QWebEnginePage::ToggleMediaControls (since Qt 5.6)21Afficher ou masquer les commandes de l'élément audio ou vidéo survolé.
QWebEnginePage::ToggleMediaLoop (since Qt 5.6)22Basculer entre l'affichage et le masquage des contrôles de l'élément audio ou vidéo survolé.
QWebEnginePage::ToggleMediaPlayPause (since Qt 5.6)23Basculer l'état de lecture/pause de l'élément audio ou vidéo survolé.
QWebEnginePage::ToggleMediaMute (since Qt 5.6)24Couper ou rétablir le son de l'élément audio ou vidéo survolé.
QWebEnginePage::DownloadLinkToDisk (since Qt 5.6)16Télécharger le lien actuel sur le disque. Nécessite un emplacement pour downloadRequested().
QWebEnginePage::DownloadImageToDisk (since Qt 5.6)19Télécharger l'image en surbrillance sur le disque. Nécessite un emplacement pour downloadRequested().
QWebEnginePage::DownloadMediaToDisk (since Qt 5.6)25Télécharger l'élément audio ou vidéo survolé sur le disque. Nécessite un emplacement pour downloadRequested().
QWebEnginePage::InspectElement (since Qt 5.6)26Déclencher l'inspection de l'élément surligné par un inspecteur Web attaché.
QWebEnginePage::ExitFullScreen (since Qt 5.6)27Quitter le mode plein écran.
QWebEnginePage::RequestClose (since Qt 5.6)28Demande de fermeture de la page web. S'il est défini, le gestionnaire window.onbeforeunload est exécuté et l'utilisateur peut confirmer ou rejeter la fermeture de la page. Si la demande de fermeture est confirmée, windowCloseRequested est émis.
QWebEnginePage::Unselect (since Qt 5.7)29Effacer la sélection en cours.
QWebEnginePage::SavePage (since Qt 5.7)30Enregistrer la page en cours sur le disque. MHTML est le format par défaut utilisé pour stocker la page web sur le disque. Nécessite un emplacement pour downloadRequested().
QWebEnginePage::ViewSource (since Qt 5.8)32Afficher la source de la page actuelle dans un nouvel onglet. Nécessite l'implémentation de createWindow() ou newWindowRequested().
QWebEnginePage::ToggleBold (since Qt 5.10)33Permet de mettre en gras la sélection ou la position du curseur. Requiert contenteditable="true".
QWebEnginePage::ToggleItalic (since Qt 5.10)34Permet d'activer l'italique pour la sélection ou à la position du curseur. Nécessite contenteditable="true".
QWebEnginePage::ToggleUnderline (since Qt 5.10)35Bascule le soulignement de la sélection, ou à la position du curseur. Requiert contenteditable="true".
QWebEnginePage::ToggleStrikethrough (since Qt 5.10)36Bascule la mise en évidence de la sélection, ou à la position du curseur. Requiert contenteditable="true".
QWebEnginePage::AlignLeft (since Qt 5.10)37Aligne les lignes contenant la sélection ou le curseur vers la gauche. Requiert contenteditable="true".
QWebEnginePage::AlignCenter (since Qt 5.10)38Aligne les lignes contenant la sélection ou le curseur au centre. Requiert contenteditable="true".
QWebEnginePage::AlignRight (since Qt 5.10)39Aligne les lignes contenant la sélection ou le curseur à droite. Nécessite contenteditable="true".
QWebEnginePage::AlignJustified (since Qt 5.10)40Etire les lignes contenant la sélection ou le curseur de manière à ce que chaque ligne ait la même largeur. Nécessite contenteditable="true".
QWebEnginePage::Indent (since Qt 5.10)41Indente les lignes contenant la sélection ou le curseur. Requiert contenteditable="true".
QWebEnginePage::Outdent (since Qt 5.10)42Décale les lignes contenant la sélection ou le curseur. Requiert contenteditable="true".
QWebEnginePage::InsertOrderedList (since Qt 5.10)43Insère une liste ordonnée à la position actuelle du curseur, en supprimant la sélection actuelle. Requiert contenteditable="true".
QWebEnginePage::InsertUnorderedList (since Qt 5.10)44Insère une liste non ordonnée à la position actuelle du curseur, supprimant la sélection actuelle. Nécessite contenteditable="true".
QWebEnginePage::ChangeTextDirectionLTR (since Qt 6.6)45Modifie la direction du texte de gauche à droite dans l'élément de saisie ciblé.
QWebEnginePage::ChangeTextDirectionRTL (since Qt 6.6)46Modifie la direction du texte de droite à gauche dans l'élément de saisie ciblé.

enum QWebEnginePage::WebWindowType

Cette énumération décrit les types de fenêtres qui peuvent être créées par la fonction createWindow() :

ConstanteValeurDescription de la fenêtre
QWebEnginePage::WebBrowserWindow0Une fenêtre complète de navigateur web.
QWebEnginePage::WebBrowserTab1Un onglet de navigateur web.
QWebEnginePage::WebDialog2Une fenêtre sans décoration.
QWebEnginePage::WebBrowserBackgroundTab (since Qt 5.7)3Un onglet de navigateur web sans masquer la fenêtre visible actuelle WebEngineView.

Documentation sur les propriétés

audioMuted : bool

Cette propriété indique si le son de la page en cours est coupé.

La valeur par défaut est false.

Fonctions d'accès :

bool isAudioMuted() const
void setAudioMuted(bool muted)

Signal du notificateur :

void audioMutedChanged(bool muted)

Voir aussi recentlyAudible.

backgroundColor : QColor

Cette propriété définit la couleur d'arrière-plan de la page derrière le corps du document.

Vous pouvez définir la couleur d'arrière-plan sur Qt::transparent ou sur une couleur translucide pour voir à travers le document, ou vous pouvez la définir pour qu'elle corresponde à votre contenu web dans une application hybride afin d'éviter les flashs blancs qui peuvent apparaître pendant le chargement.

La valeur par défaut est le blanc.

Fonctions d'accès :

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

[read-only] contentsSize : QSizeF

Taille du contenu intégral de la page, 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.

Fonctions d'accès :

QSizeF contentsSize() const

Signal de notification :

void contentsSizeChanged(const QSizeF &size)

[read-only] hasSelection : bool

Cette propriété indique si cette page contient un contenu sélectionné ou non.

Fonctions d'accès :

bool hasSelection() const

Voir aussi selectionChanged().

[read-only] icon : QIcon

Cette propriété contient l'icône associée à la page actuellement visualisée.

Par défaut, cette propriété contient une icône nulle. Si les icônes tactiles sont désactivées (voir QWebEngineSettings::TouchIconsEnabled), le favicon est fourni en deux tailles (16x16 et 32x32 pixels) encapsulées dans QIcon. Dans le cas contraire, une seule icône est fournie avec la plus grande taille disponible.

Fonctions d'accès :

QIcon icon() const

Signal de notification :

void iconChanged(const QIcon &icon)

Voir aussi iconChanged(), iconUrl(), iconUrlChanged() et QWebEngineSettings::TouchIconsEnabled.

[read-only] iconUrl : QUrl

Cette propriété contient l'URL de l'icône associée à la page actuellement visualisée.

Par défaut, cette propriété contient une URL vide.

Fonctions d'accès :

QUrl iconUrl() const

Signal du notificateur :

void iconUrlChanged(const QUrl &url)

Voir aussi iconUrlChanged(), icon() et iconChanged().

lifecycleState : LifecycleState

Cette propriété contient l'état actuel du cycle de vie de la page.

Les restrictions suivantes sont appliquées par le setter :

  • Une page visible doit rester dans l'état Active.
  • Si la page est inspectée par un site devToolsPage, les deux pages doivent rester dans l'état Active.
  • Une page dans l'état Discarded ne peut que passer à l'état Active. Cela entraînera un rechargement de la page.

Il s'agit là des seules limites strictes concernant l'état du cycle de vie, mais voir également recommendedState pour les limites non contraignantes recommandées.

Fonctions d'accès :

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

Signal de notification :

void lifecycleStateChanged(QWebEnginePage::LifecycleState state)

Voir aussi recommendedState, Page Lifecycle API, et WebEngine Lifecycle Example.

[read-only, since 6.2] loading : bool

Cette propriété indique si la page est en cours de chargement.

Cette propriété a été introduite dans Qt 6.2.

Fonctions d'accès :

bool isLoading() const

Signal Notifier :

void loadingChanged(const QWebEngineLoadingInfo &loadingInfo)

Voir aussi QWebEngineLoadingInfo, loadStarted, et loadFinished.

[read-only] recentlyAudible : bool

Cette propriété contient l'état audible de la page actuelle, c'est-à-dire si l'audio a été joué récemment ou non.

La valeur par défaut est false.

Fonctions d'accès :

bool recentlyAudible() const

Notifier signal :

void recentlyAudibleChanged(bool recentlyAudible)

Voir aussi audioMuted.

[read-only] recommendedState : LifecycleState

Cette propriété contient la limite recommandée pour l'état du cycle de vie de la page.

Définir l'état du cycle de vie à un niveau d'utilisation des ressources inférieur à l'état recommandé peut entraîner des effets secondaires tels que l'arrêt de la lecture audio en arrière-plan ou la perte de l'entrée du formulaire HTML. La définition d'un état de cycle de vie plus élevé est, en revanche, totalement sûre.

Fonctions d'accès :

QWebEnginePage::LifecycleState recommendedState() const

Signal de notification :

void recommendedStateChanged(QWebEnginePage::LifecycleState state)

Voir aussi lifecycleState, Page Lifecycle API, et WebEngine Lifecycle Example.

[read-only] renderProcessPid : qint64

Cette propriété contient l'ID du processus (PID) du processus de rendu assigné au cadre principal de la page actuelle.

Si aucun processus de rendu n'est encore disponible, 0 est renvoyé.

Fonctions d'accès :

qint64 renderProcessPid() const

Signal de notification :

void renderProcessPidChanged(qint64 pid)

[read-only] requestedUrl : QUrl

Cette propriété contient l'URL qui a été demandée à l'origine pour être chargée par la page actuellement visualisée.

Remarque : l'URL peut être différente de celle renvoyée par url(), qui est l'URL réelle résultant de la résolution DNS ou de la redirection.

Fonctions d'accès :

QUrl requestedUrl() const

Voir également url() et setUrl().

[read-only] scrollPosition : QPointF

Cette propriété contient la position de défilement du contenu de la page.

Fonctions d'accès :

QPointF scrollPosition() const

Signal de notification :

void scrollPositionChanged(const QPointF &position)

[read-only] selectedText : QString

Cette propriété contient le texte actuellement sélectionné.

Par défaut, cette propriété contient une chaîne vide.

Fonctions d'accès :

QString selectedText() const

Voir aussi selectionChanged().

[read-only] title : QString

Cette propriété contient le titre de la page tel que défini par l'élément HTML <title>.

Si la page n'a pas d'élément <title>, l'URL est utilisée à la place. Pour les URL file://, seul le nom du fichier est utilisé, et non le chemin d'accès complet.

Par défaut, avant tout chargement de contenu, cette propriété contient une chaîne vide.

Fonctions d'accès :

QString title() const

Signal du notificateur :

void titleChanged(const QString &title)

Voir aussi titleChanged().

url : QUrl

Cette propriété contient l'URL de la page actuellement affichée.

La définition de cette propriété efface la vue et charge l'URL.

Par défaut, cette propriété contient une URL vide et invalide.

Fonctions d'accès :

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

Signal Notifier :

void urlChanged(const QUrl &url)

Voir aussi urlChanged().

visible : bool

Cette propriété indique si la page est considérée comme visible dans l'API de visibilité des pages.

La définition de cette propriété modifie les propriétés Document.hidden et Document.visibilityState en JavaScript, que les sites web peuvent utiliser pour réduire volontairement l'utilisation de leurs ressources s'ils ne sont pas visibles pour l'utilisateur.

Si la page est connectée à une vue, cette propriété sera gérée automatiquement par la vue en fonction de sa propre visibilité.

Fonctions d'accès :

bool isVisible() const
void setVisible(bool visible)

Signal Notificateur :

void visibleChanged(bool visible)

Voir aussi lifecycleState.

zoomFactor : qreal

Cette propriété contient le facteur de zoom pour le contenu de la page.

Les valeurs valides sont comprises entre 0.25 et 5.0. Le facteur par défaut est 1.0.

Fonctions d'accès :

qreal zoomFactor() const
void setZoomFactor(qreal factor)

Signal de notification :

void zoomFactorChanged(qreal factor)

Voir aussi zoomFactorChanged().

Documentation des fonctions membres

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

Construit une QWebEnginePage vide avec le parent parent.

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

Construit une page vide de moteur web dans le profil de moteur web profile avec le parent parent.

Si le profil n'est pas le profil par défaut, l'appelant doit s'assurer que le profil reste actif aussi longtemps que la page.

[virtual noexcept] QWebEnginePage::~QWebEnginePage()

Détruit la page web.

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

Cette fonction est appelée lors de la réception d'une demande de navigation vers le site url au moyen du type de navigation spécifié type. isMainFrame indique si la demande correspond au cadre principal ou à un cadre enfant. Si la fonction renvoie true, la demande de navigation est acceptée et url est chargé. L'implémentation par défaut accepte toutes les demandes de navigation.

Les demandes de navigation peuvent être déléguées à l'application Qt au lieu d'être traitées par le moteur de traitement HTML en surchargeant cette fonction. Cela est nécessaire lorsqu'un document HTML est utilisé dans le cadre de l'interface utilisateur et non pour afficher des données externes, par exemple lors de l'affichage d'une liste de résultats.

Remarque : cette fonction n'est pas appelée pour la navigation dans les fragments sur la même page. Cette navigation se fait, par exemple, en cliquant sur un lien vers un "#fragment" à l'intérieur de la page. Cette fonction ne déclenche pas le chargement d'un document différent, même si elle modifie l'adresse URL de la page et ajoute une entrée dans l'historique. Il sert uniquement de raccourci pour faire défiler la page. Par conséquent, aucune délégation de ce type de navigation n'est attendue.

Remarque : le processus de chargement est lancé et le signal loadStarted() est émis avant que la demande ne soit acceptée ou rejetée. Il faut donc s'attendre à ce que le signal loadFinished() renvoie false même après avoir délégué la demande.

Remarque : lorsque vous utilisez setHtml ou setContent avec des liens relatifs, veillez à spécifier une url de base, sinon les liens seront considérés comme invalides et aucune demande de navigation ne sera émise.

La classe QWebEngineUrlRequestInterceptor offre d'autres options pour intercepter et manipuler les demandes.

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

Renvoie un QAction pour le WebAction action spécifié.

L'action appartient à QWebEnginePage mais vous pouvez personnaliser son apparence en modifiant ses propriétés.

L'action retournée n'a pas d'icône stylisée par défaut. Utilisez QWebEngineView::pageAction() pour obtenir une action avec une icône stylisée par défaut.

QWebEnginePage prend également en charge l'implémentation de l'action, de sorte qu'au moment du déclenchement, l'action correspondante est exécutée sur la page.

Voir aussi triggerAction().

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

Ce signal est émis lorsque l'état de la page muted change.

Remarque : à ne pas confondre avec la mise en sourdine d'un élément audio ou vidéo HTML5 spécifique.

Note : Signal de notification pour la propriété audioMuted.

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

Ce signal est émis lorsque l'accès à requestUrl nécessite une authentification. authenticator doit être utilisé pour transmettre le nom d'utilisateur et le mot de passe pour la connexion.

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

Ce signal est émis lorsqu'une erreur de certificat invalide est soulevée lors du chargement d'une demande donnée.

Le paramètre certificateError contient des informations sur le certificat et les détails de l'erreur. Il permet également d'ignorer l'erreur et de terminer la demande ou d'arrêter le chargement de la demande.

Voir aussi QWebEngineCertificateError.

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

Cette fonction est appelée lorsque le contenu web demande un nom de fichier, par exemple lorsque l'utilisateur clique sur un bouton de téléchargement de fichier dans un formulaire HTML.

mode indique si un seul ou plusieurs fichiers doivent être renvoyés.

Un nom de fichier suggéré peut être fourni comme première entrée de oldFiles. acceptedMimeTypes est ignoré par l'implémentation par défaut, mais peut être utilisé par les surcharges.

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

Cette fonction est appelée pour créer une nouvelle fenêtre de la taille spécifiée type. Par exemple, lorsqu'un programme JavaScript demande d'ouvrir un document dans une nouvelle fenêtre.

Si la nouvelle fenêtre peut être créée, l'objet QWebEnginePage de la nouvelle fenêtre est renvoyé ; dans le cas contraire, un pointeur nul est renvoyé.

Si la vue associée à la page web est un objet QWebEngineView, l'implémentation par défaut transmet la demande à QWebEngineView::createWindow() ; sinon, elle renvoie un pointeur nul.

Si cet appel n'est pas implémenté ou ne renvoie pas de nouvelle page, newWindowRequested() est émis pour traiter la demande.

Remarque : dans les cas où la création de la fenêtre est déclenchée par JavaScript, l'application doit non seulement réimplémenter cette méthode, mais aussi définir QWebEngineSettings::JavascriptCanOpenWindows en true pour que la méthode soit appelée.

Voir également QWebEngineView::createWindow() et newWindowRequested().

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

Ce signal est émis lorsqu'une application web demande l'accès au contenu d'un écran.

L'argument request contient des références aux modèles de données pour les fenêtres et les écrans disponibles pour la capture. Pour accepter la demande, le gestionnaire du signal peut appeler QWebEngineDesktopMediaRequest::selectScreen() ou QWebEngineDesktopMediaRequest::selectWindow().

Cette fonction a été introduite dans Qt 6.7.

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

Renvoie l'identifiant de l'hôte des outils de développement associé à cette page.

Si le débogage à distance est activé (voir Qt WebEngine Developer Tools), l'identifiant peut être utilisé pour construire l'URL permettant de se connecter au websocket de l'outil de développement : ws://localhost:<debugging-port>/devtools/page/<id>). Le websocket peut être utilisé pour interagir avec la page à l'aide du protocole DevTools.

Cette fonction a été introduite dans Qt 6.6.

QWebEnginePage *QWebEnginePage::devToolsPage() const

Renvoie la page qui héberge les outils de développement de cette page, le cas échéant.

Renvoie nullptr si aucune page d'outils de développement n'est définie.

Voir également setDevToolsPage() et inspectedPage().

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

Télécharge la ressource à partir de l'emplacement indiqué par url dans un fichier local.

Si filename est indiqué, il est utilisé comme nom de fichier suggéré. S'il est relatif, le fichier est enregistré à l'emplacement de téléchargement standard sous le nom indiqué. S'il s'agit d'un QString vide ou nul, le nom de fichier par défaut est utilisé.

Cette commande émettra QWebEngineProfile::downloadRequested() une fois que le téléchargement aura commencé.

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

Réimplémente : QObject::event(QEvent *e).

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

Ce signal est émis lorsque la page web demande l'accès à des fichiers ou répertoires locaux.

L'objet de demande request peut être utilisé pour accepter ou rejeter la demande.

Cette fonction a été introduite dans Qt 6.4.

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

Renvoie le cadre portant le nom name. S'il y a plusieurs cadres avec le même nom, celui qui est renvoyé est arbitraire. Si aucun cadre n'a été trouvé, la fonction renvoie std::nullopt.

Cette fonction a été introduite dans Qt 6.8.

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

Recherche la chaîne spécifiée, subString, dans la page, à l'aide de l'adresse options. Le signal findTextFinished() est émis lorsqu'une recherche de chaîne est terminée.

Pour effacer la mise en évidence de la recherche, il suffit de passer une chaîne vide.

La commande resultCallback doit prendre un paramètre QWebEngineFindTextResult.

Attention : Nous garantissons que le rappel (resultCallback) est toujours appelé, mais il peut l'être lors de la destruction de la page. Lorsque QWebEnginePage est supprimé, le callback est déclenché avec une valeur invalide et il n'est pas sûr d'utiliser l'instance QWebEnginePage ou QWebEngineView correspondante à l'intérieur de celui-ci.

Par exemple, il n'est pas sûr d'utiliser l'instance ou correspondante à l'intérieur :

    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"));
    });

Voir aussi findTextFinished().

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

Ce signal est émis lorsqu'une recherche de chaîne de caractères sur une page est terminée. result est le résultat de la recherche de chaîne de caractères.

Voir aussi findText().

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

Ce signal est émis lorsque la page web demande à passer en mode plein écran pour un élément web, généralement un élément vidéo.

L'objet de requête fullScreenRequest peut être utilisé pour accepter ou rejeter la requête.

Si la demande est acceptée, l'élément demandant le mode plein écran remplira la fenêtre de visualisation, mais c'est à l'application de rendre la vue plein écran ou de déplacer la page vers une vue qui est plein écran.

Voir aussi QWebEngineSettings::FullScreenSupportEnabled.

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

Ce signal est émis chaque fois que le document souhaite modifier la position et la taille de la page à geom. Cela peut se produire, par exemple, par le biais de JavaScript.

Remarque : setGeometry() attend une taille excluant la décoration de la fenêtre, alors que geom l'inclut. Vous devez supprimer la taille des marges du cadre de geom pour traiter ce signal correctement.

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

QWebEngineHistory *QWebEnginePage::history() const

Renvoie un pointeur sur l'historique des pages web naviguées de la vue.

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

Ce signal est émis lorsque l'icône ("favicon") associée à la page est modifiée. La nouvelle icône est spécifiée par icon.

Note : Signal de notification pour la propriété icon.

Voir aussi icon(), iconUrl() et iconUrlChanged().

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

Ce signal est émis lorsque l'URL de l'icône ("favicon") associée à la page est modifiée. La nouvelle URL est spécifiée par url.

Note : Signal de notification pour la propriété iconUrl.

Voir aussi iconUrl(), icon() et iconChanged().

QWebEnginePage *QWebEnginePage::inspectedPage() const

Renvoie la page que cette page est en train d'inspecter, le cas échéant.

Renvoie nullptr si cette page n'est pas une page d'outils de développement.

Voir également setInspectedPage() et devToolsPage().

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

Cette fonction est appelée chaque fois qu'un programme JavaScript s'exécutant dans un cadre affilié à securityOrigin appelle la fonction alert() avec le message msg.

L'implémentation par défaut affiche le message msg avec QMessageBox::information.

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

Cette fonction est appelée chaque fois qu'un programme JavaScript s'exécutant dans un cadre affilié à securityOrigin appelle la fonction confirm() avec le message msg. Elle renvoie true si l'utilisateur confirme le message, sinon elle renvoie false.

Elle est également appelée lorsque le gestionnaire onbeforeunload demande une confirmation avant de quitter une page.

L'implémentation par défaut exécute la requête en utilisant QMessageBox::information avec les boutons QMessageBox::Ok et QMessageBox::Cancel.

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

Cette fonction est appelée lorsqu'un programme JavaScript tente d'imprimer le site message sur la console du navigateur web.

Par exemple, en cas d'erreur d'évaluation, l'URL source peut être fournie dans sourceID ainsi que dans lineNumber.

level indique la gravité de l'événement qui a déclenché le message. En d'autres termes, il s'agit de savoir si le message a été déclenché par une erreur ou un événement moins grave.

L'implémentation par défaut enregistre les messages dans un fichier js logging category .

Voir également Console Logging.

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

Cette fonction est appelée chaque fois qu'un programme JavaScript s'exécutant dans un cadre affilié à securityOrigin tente d'inviter l'utilisateur à entrer des données. Le programme peut fournir un message facultatif, msg, ainsi qu'une valeur par défaut pour la saisie dans defaultValue.

Si l'invite a été annulée par l'utilisateur, l'implémentation doit renvoyer false; sinon, le résultat doit être écrit sur result et true doit être renvoyé. Si l'invite n'a pas été annulée par l'utilisateur, l'implémentation doit renvoyer true et la chaîne de résultat ne doit pas être nulle.

L'implémentation par défaut utilise QInputDialog::getText().

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

Ce signal est émis lorsque la souris survole un lien. url contient l'URL cible du lien.

void QWebEnginePage::load(const QUrl &url)

Charge url dans cette page.

Remarque : l'affichage reste le même jusqu'à ce qu'il y ait suffisamment de données pour afficher la nouvelle URL.

Voir aussi setUrl(), setHtml() et setContent().

void QWebEnginePage::load(const QWebEngineHttpRequest &request)

Emet le message request spécifié et charge la réponse.

Voir aussi load(), setUrl(), url(), urlChanged() et QUrl::fromUserInput().

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

Ce signal est émis lorsque le chargement du contenu de la page est terminé. Ce signal est indépendant de l'exécution du script ou du rendu de la page. ok indique si le chargement a réussi ou si une erreur s'est produite.

Remarque : les demandes de navigation peuvent être déléguées à l'application Qt au lieu d'être traitées par le moteur de traitement HTML en surchargeant la fonction acceptNavigationRequest(). Étant donné que le processus de chargement est lancé et que le signal loadStarted() est émis avant que la demande ne soit acceptée ou rejetée, il faut s'attendre à ce que le signal loadFinished() renvoie false, même après avoir délégué la demande.

Voir également loadStarted() et acceptNavigationRequest().

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

Ce signal est émis lorsque l'état de progression global change. La valeur actuelle est fournie par progress et va de 0 à 100, ce qui correspond à la plage par défaut de QProgressBar. Il accumule les changements de tous les cadres enfants.

[signal] void QWebEnginePage::loadStarted()

Ce signal est émis lorsqu'une page commence à charger du contenu.

Voir aussi loadFinished() et acceptNavigationRequest().

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

Ce signal est émis lorsque le chargement de la page spécifiée par loadingInfo commence, se termine ou échoue.

Note : Signal de notification pour la propriété loading.

Cette fonction a été introduite dans Qt 6.2.

[since 6.8] QWebEngineFrame QWebEnginePage::mainFrame()

Cadre principal, de premier niveau, de la page. Tous les autres cadres de cette page sont accessibles en tant qu'enfants du cadre principal.

Cette fonction a été introduite dans Qt 6.8.

Ce signal est émis lors de la navigation en même temps que l'appel à acceptNavigationRequest(). Il peut être utilisé pour accepter ou ignorer le request. La valeur par défaut est d'accepter.

Cette fonction a été introduite dans Qt 6.2.

Voir aussi acceptNavigationRequest().

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

Ce signal est émis lorsque request est utilisé pour charger une page dans une fenêtre séparée du moteur web. Cela peut être dû au fait que la page actuelle l'a demandé explicitement par le biais d'un appel JavaScript à window.open, ou au fait que l'utilisateur a cliqué sur un lien tout en maintenant Shift, Cmd/Ctrl, ou une combinaison intégrée qui déclenche l'ouverture de la page dans une nouvelle fenêtre.

Le signal est traité en appelant openIn() avec la nouvelle page sur la requête. Si ce signal n'est pas traité, le chargement demandé échouera.

Remarque : ce signal n'est pas émis si createWindow() a traité la demande en premier.

Cette fonction a été introduite dans Qt 6.2.

Voir aussi createWindow() et QWebEngineNewWindowRequest::openIn().

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

Ce signal est émis lorsque l'impression de la page web dans un fichier PDF est terminée. filePath contiendra le chemin d'accès au fichier dont la création a été demandée, et success sera true si le fichier a été créé avec succès et false dans le cas contraire.

Voir aussi printToPdf().

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

Ce signal est émis lorsqu'un site web demande à utiliser une fonctionnalité (par exemple, accès à la géolocalisation, autorisation d'envoyer des notifications). L'objet permission peut être interrogé pour connaître l'URL requérante et le QWebEnginePermission::Feature qu'elle demande, ainsi que pour accorder ou refuser la permission.

Cette fonction a été introduite dans Qt 6.8.

[signal] void QWebEnginePage::printRequested()

Ce signal est émis lorsque la méthode JavaScript window.print() est appelée dans le cadre principal ou que l'utilisateur a appuyé sur le bouton d'impression du plugin de visualisation PDF. Généralement, le gestionnaire du signal peut simplement appeler printToPdf().

Depuis la version 6.8, ce signal n'est émis que pour le cadre principal, au lieu d'être émis pour tout cadre demandant une impression.

Voir aussi printToPdf() et printRequestedByFrame().

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

Ce signal est émis lorsque la méthode JavaScript window.print() est appelée sur frame. Si le cadre est le cadre principal, printRequested est émis à la place.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi printRequested(), printToPdf() et QWebEngineFrame::printToPdf().

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

Rend le contenu actuel de la page dans un document PDF et l'enregistre à l'emplacement spécifié à l'adresse filePath. La taille et l'orientation de la page du document PDF produit sont tirées des valeurs spécifiées à l'adresse layout, tandis que l'éventail des pages imprimées est tiré de l'adresse ranges, la valeur par défaut étant l'impression de toutes les 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 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é.

Voir aussi pdfPrintingFinished().

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

Rend le contenu actuel de la page dans un document PDF et renvoie un tableau d'octets contenant les données PDF en tant que paramètre de resultCallback. La taille et l'orientation de la page du document PDF produit sont tirées des valeurs spécifiées dans layout, tandis que la plage de pages imprimées est tirée de ranges, la valeur par défaut étant l'impression de toutes les pages.

L'adresse resultCallback doit prendre en paramètre une référence const à une 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.

Attention : Nous garantissons que le rappel (resultCallback) est toujours appelé, mais il peut l'être pendant la destruction de la page. Lorsque QWebEnginePage est supprimé, le callback est déclenché avec une valeur invalide et il n'est pas sûr d'utiliser l'instance QWebEnginePage ou QWebEngineView correspondante à l'intérieur de celle-ci.

QWebEngineProfile *QWebEnginePage::profile() const

Renvoie le profil du moteur web auquel la page appartient.

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

Ce signal est émis lorsque l'accès à requestUrl via proxyHost nécessite une authentification pour le proxy. authenticator doit être utilisé pour transmettre le nom d'utilisateur et le mot de passe pour la connexion.

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

Ce signal est émis lorsque l'état audible de la page, recentlyAudible, change en raison de la lecture ou de l'arrêt de l'audio.

Remarque : ce signal est également émis lorsque la propriété audioMuted est modifiée. En outre, si l'audio est mis en pause, ce signal est émis avec un retard d' environ deux secondes à partir du moment où l'audio est mis en pause.

Si une page web contient deux vidéos lancées en séquence, ce signal n'est émis qu'une seule fois pour que la première vidéo génère du son. Après l'arrêt des deux vidéos, le signal est émis lorsque le dernier son est généré. Cela signifie que le signal est émis à la fois lorsque tout type de son est généré et lorsque tout est complètement silencieux dans une page web, quel que soit le nombre de flux audio.

Des émissions de signaux parasites peuvent également se produire. Par exemple, lorsque le son est arrêté, ce signal est émis d'abord avec une valeur de true, puis avec une valeur de false. En outre, lorsque l'audio commence à jouer, le signal est émis deux fois avec une valeur de true.

Note : Signal de notification pour la propriété recentlyAudible.

Voir aussi recentlyAudible.

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

Ce signal est émis lorsque la page web tente d'enregistrer un protocole personnalisé à l'aide de l'API registerProtocolHandler.

L'objet de requête request peut être utilisé pour accepter ou rejeter la requête :

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)

Ce signal est émis lorsque le PID du processus de rendu sous-jacent, pid, change.

Note : Signal de notification pour la propriété renderProcessPid.

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

Ce signal est émis lorsque le processus de rendu se termine avec un état de sortie non nul. terminationStatus est l'état de fin du processus et exitCode est le code d'état avec lequel le processus s'est terminé.

void QWebEnginePage::replaceMisspelledWord(const QString &replacement)

Remplacez le mot actuellement mal orthographié par replacement.

Le mot actuellement mal orthographié peut être trouvé dans QWebEngineContextMenuRequest::misspelledWord(), et les remplacements suggérés dans 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)

Exécute le code JavaScript contenu dans scriptSource sans vérifier si le DOM de la page a été construit. Si vous avez besoin de plus de contrôle sur la manière dont le script est exécuté, envisagez d'utiliser scripts() à la place.

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é, resultCallback est appelé avec le résultat de la dernière instruction exécutée. resultCallback peut être un pointeur de fonction, un foncteur ou un lambda, et il est censé prendre un paramètre QVariant. Par exemple :

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

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.

Avertissement : Nous garantissons que la fonction de rappel (resultCallback) 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 scripts(), QWebEngineScript::ScriptWorldId, QWebEngineFrame::runJavaScript, et Script Injection.

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

Enregistre la page web actuellement chargée sur le disque.

La page web est enregistrée à l'adresse filePath dans l'emplacement spécifié format.

Il s'agit d'un raccourci pour les actions suivantes :

  • Déclencher l'action Enregistrer la page web.
  • Accepter l'élément de téléchargement suivant et définir le chemin d'accès au fichier et le format d'enregistrement spécifiés.

Cette fonction émet une demande de téléchargement asynchrone pour la page web et renvoie immédiatement.

Voir aussi QWebEngineDownloadRequest::SavePageFormat.

QWebEngineScriptCollection &QWebEnginePage::scripts()

Renvoie la collection de scripts injectés dans la page.

En outre, une page peut également exécuter des scripts ajoutés par l'intermédiaire de QWebEngineProfile::scripts().

Voir également QWebEngineScriptCollection, QWebEngineScript, et Script Injection.

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

Ce signal est émis lorsqu'un site web demande un certificat client SSL et qu'un ou plusieurs ont été trouvés dans le magasin de certificats clients du système.

Le traitement de ce signal est asynchrone, et le chargement sera en attente jusqu'à ce qu'un certificat soit sélectionné, ou que la dernière copie de clientCertificateSelection soit détruite.

Si le signal n'est pas traité, clientCertificateSelection est automatiquement détruit et le chargement se poursuit sans certificat client.

Voir aussi QWebEngineClientCertificateSelection.

[signal] void QWebEnginePage::selectionChanged()

Ce signal est émis chaque fois que la sélection change, que ce soit de manière interactive ou programmatique. Par exemple, en appelant triggerAction() avec une action de sélection.

Remarque : si vous utilisez la souris pour sélectionner du texte en cliquant sur le bouton gauche et en le faisant glisser, le signal est émis pour chaque nouveau caractère sélectionné, et non pas lorsque vous relâchez le bouton gauche de la souris.

Voir aussi selectedText().

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

Définit le contenu de la page web à data. Si l'argument mimeType est vide, il est supposé que le contenu est text/plain,charset=US-ASCII.

Les objets externes référencés dans le contenu sont situés par rapport à baseUrl. Pour que les objets externes dont l'URL est relative soient chargés, baseUrl ne doit pas être vide.

Le site data est chargé immédiatement ; les objets externes sont chargés de manière asynchrone.

Remarque : cette méthode n'affecte pas la session ni l'historique global de la page.

Attention : Le contenu sera encodé en pourcentage avant d'être envoyé au moteur de rendu. Cela peut augmenter sa taille. La taille maximale du contenu encodé en pourcentage est de 2 mégaoctets moins 6 octets plus la longueur de la chaîne de type mime.

Voir aussi toHtml() et setHtml().

void QWebEnginePage::setDevToolsPage(QWebEnginePage *devToolsPage)

Lie devToolsPage aux outils de développement de cette page. Déclenche devToolsPage pour naviguer vers une URL interne avec les outils de développement.

Cela revient à appeler setInspectedPage() sur devToolsPage avec this comme argument.

Voir également devToolsPage() et setInspectedPage().

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

Définit le contenu de cette page à html. baseUrl est facultatif et utilisé pour résoudre les URL relatives dans le document, telles que les images ou les feuilles de style référencées.

La page html est chargée immédiatement ; les objets externes sont chargés de manière asynchrone.

Si un script dans html s'exécute plus longtemps que le délai d'attente par défaut (actuellement 10 secondes), par exemple parce qu'il est bloqué par une boîte de dialogue d'alerte JavaScript modale, cette méthode renverra dès que possible après le délai d'attente et toutes les pages html suivantes seront chargées de manière asynchrone.

Lorsqu'il utilise cette méthode, le moteur web suppose que les ressources externes, telles que les programmes JavaScript ou les feuilles de style, sont codées en UTF-8, sauf indication contraire. Par exemple, le codage d'un script externe peut être spécifié par l'attribut charset de la balise HTML script. Il est également possible que le codage soit spécifié par le serveur web.

Il s'agit d'une fonction de commodité équivalente à setContent(html, "text/html", baseUrl).

Remarque : cette méthode n'affecte pas la session ou l'historique global de la page.

Attention : Cette fonction ne fonctionne que pour HTML. Pour les autres types MIME (tels que XHTML et SVG), il convient d'utiliser setContent().

Attention : Le contenu sera encodé en pourcentage avant d'être envoyé au moteur de rendu. Cela peut augmenter sa taille. La taille maximale du contenu encodé en pourcentage est de 2 mégaoctets moins 30 octets.

Voir aussi toHtml(), setContent() et load().

void QWebEnginePage::setInspectedPage(QWebEnginePage *page)

Navigue cette page vers une URL interne qui est l'outil de développement de page.

Cela revient à appeler setDevToolsPage() sur page avec this comme argument.

Voir également inspectedPage() et setDevToolsPage().

void QWebEnginePage::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)

Enregistre l'intercepteur de requêtes interceptor pour intercepter les requêtes URL.

La page n'est pas propriétaire du pointeur. Cet intercepteur est appelé après tous les intercepteurs du profil et, contrairement aux intercepteurs de profil, seules les demandes d'URL provenant de cette page sont interceptées. Si la requête originale a déjà été bloquée ou redirigée par l'intercepteur de profil, elle ne sera pas interceptée par cet intercepteur.

Pour désactiver l'intercepteur de requêtes, définissez un nullptr.

Voir également QWebEngineUrlRequestInfo et QWebEngineProfile::setUrlRequestInterceptor().

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

Définit l'instance de canal web à utiliser par cette page à channel et la connecte au transport du moteur web en utilisant les messages IPC de Chromium. Le transport est exposé dans le monde JavaScript worldId en tant que qt.webChannelTransport, qui devrait être utilisé lors de l'utilisation de l'API JavaScriptQt WebChannel .

Remarque : la page n'est pas propriétaire de l'objet canal.

Remarque : un seul canal web peut être installé par page ; le fait d'en installer un, même dans un autre monde JavaScript, désinstalle tout canal web déjà installé.

Voir également webChannel() et QWebEngineScript::ScriptWorldId.

QWebEngineSettings *QWebEnginePage::settings() const

Renvoie un pointeur sur l'objet de paramétrage de la page.

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

Ce signal est émis lorsque le titre de la page change. La chaîne title indique le nouveau titre.

Remarque : signal de notification pour la propriété title.

Voir également title().

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

Méthode asynchrone permettant de récupérer le contenu de la page au format HTML, entre les balises HTML et BODY. En cas de succès, resultCallback est appelé avec le contenu de la page.

Remarque : resultCallback peut être un pointeur de fonction, un foncteur ou un lambda, et doit prendre un paramètre QString.

Attention : Nous garantissons que le rappel (resultCallback) est toujours appelé, mais il peut l'être lors de la destruction de la page. Lorsque QWebEnginePage est supprimé, le callback est déclenché avec une valeur invalide et il n'est pas sûr d'utiliser l'instance QWebEnginePage ou QWebEngineView correspondante à l'intérieur.

Voir aussi setHtml() et toPlainText().

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

Méthode asynchrone permettant de récupérer le contenu de la page converti en texte brut, dépourvu de tout formatage HTML. En cas de succès, resultCallback est appelé avec le contenu de la page.

Remarque : resultCallback peut être un pointeur de fonction, un foncteur ou un lambda, et doit prendre un paramètre QString.

Attention : Nous garantissons que le rappel (resultCallback) est toujours appelé, mais il peut l'être lors de la destruction de la page. Lorsque QWebEnginePage est supprimé, le callback est déclenché avec une valeur invalide et il n'est pas sûr d'utiliser l'instance QWebEnginePage ou QWebEngineView correspondante à l'intérieur.

Voir aussi toHtml().

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

Cette fonction peut être appelée pour déclencher l'action spécifiée action. Elle est également appelée par Qt WebEngine si l'utilisateur déclenche l'action, par exemple par le biais d'un élément de menu contextuel.

Si action est une action vérifiable, checked indique si l'action est activée ou non.

Voir aussi action().

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

Ce signal est émis avec l'URL de la page lorsque le titre de la page est reçu. La nouvelle URL est spécifiée par url.

Note : Signal de notification pour la propriété url.

Voir aussi url().

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

Ce signal est émis lorsqu'un authentificateur WebAuth a besoin d'une interaction avec l'utilisateur au cours du processus d'authentification. Ces demandes sont traitées en affichant une boîte de dialogue à l'utilisateur.

Le site request contient les informations et l'API nécessaires pour compléter la demande WebAuth UX.

Cette fonction a été introduite dans Qt 6.7.

Voir aussi QWebEngineWebAuthUxRequest.

QWebChannel *QWebEnginePage::webChannel() const

Renvoie un pointeur sur l'instance de canal web utilisée par cette page ou un pointeur nul si aucun n'a été défini. Ce canal utilise automatiquement le mécanisme de transport interne du moteur web sur Chromium IPC qui est exposé dans le contexte JavaScript de cette page en tant que qt.webChannelTransport.

Voir également setWebChannel().

[signal] void QWebEnginePage::windowCloseRequested()

Ce signal est émis lorsque la page demande la fermeture de la fenêtre du navigateur web, par exemple par l'intermédiaire de l'appel JavaScript window.close().

Voir également RequestClose.

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

Ce signal est émis lorsque le zoom factor de la page change.

Note : Signal de notification pour la propriété zoomFactor.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi zoomFactor() et 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.