Sur cette page

QWebEngineDownloadRequest Class

La classe QWebEngineDownloadRequest fournit des informations sur un téléchargement. Plus d'informations...

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

Types publics

enum DownloadInterruptReason { NoReason, FileFailed, FileAccessDenied, FileNoSpace, FileNameTooLong, …, UserCanceled }
enum DownloadState { DownloadRequested, DownloadInProgress, DownloadCompleted, DownloadCancelled, DownloadInterrupted }
enum SavePageFormat { UnknownSaveFormat, SingleHtmlSaveFormat, CompleteHtmlSaveFormat, MimeHtmlSaveFormat }

Propriétés

Fonctions publiques

QString downloadDirectory() const
QString downloadFileName() const
quint32 id() const
QWebEngineDownloadRequest::DownloadInterruptReason interruptReason() const
QString interruptReasonString() const
bool isFinished() const
bool isPaused() const
bool isSavePageDownload() const
QString mimeType() const
QWebEnginePage *page() const
qint64 receivedBytes() const
QWebEngineDownloadRequest::SavePageFormat savePageFormat() const
void setDownloadDirectory(const QString &directory)
void setDownloadFileName(const QString &fileName)
void setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format)
QWebEngineDownloadRequest::DownloadState state() const
QString suggestedFileName() const
qint64 totalBytes() const
QUrl url() const

Emplacements publics

void accept()
void cancel()
void pause()
void resume()

Signaux

void downloadDirectoryChanged()
void downloadFileNameChanged()
void interruptReasonChanged()
void isFinishedChanged()
void isPausedChanged()
void receivedBytesChanged()
void savePageFormatChanged()
void stateChanged(QWebEngineDownloadRequest::DownloadState state)
void totalBytesChanged()

Description détaillée

QWebEngineDownloadRequest modélise un téléchargement tout au long de son cycle de vie, en commençant par une demande de téléchargement en attente et en terminant par un téléchargement terminé. Il peut être utilisé, par exemple, pour obtenir des informations sur les nouveaux téléchargements, pour surveiller la progression et pour mettre en pause, reprendre et annuler les téléchargements.

Les téléchargements sont généralement déclenchés par l'interaction de l'utilisateur avec une page web. Il incombe à QWebEngineProfile d'informer l'application des nouvelles demandes de téléchargement, ce qu'il fait en émettant le signal downloadRequested en même temps qu'un QWebEngineDownloadRequest nouvellement créé. L'application peut alors examiner cet élément et décider de l'accepter ou non. Lorsqu'une décision est prise, l'application doit explicitement appeler accept() ou cancel() sur l'élément pour que Qt WebEngine commence effectivement à télécharger ou à rejeter la demande.

Remarque : certaines propriétés, telles que la définition du chemin et du nom du fichier à enregistrer (voir downloadDirectory() et downloadFileName()), ne peuvent être modifiées qu'avant l'appel à accept().

Cycle de vie des objets

Dans tous les cas, le site QWebEngineProfile devient propriétaire de l'objet. Toutefois, l'application peut supprimer l'élément à tout moment, sauf pendant le traitement du signal downloadRequested. Le QWebEngineProfile étant un objet à longue durée de vie, il est en fait recommandé que l'application supprime tous les éléments qui ne l'intéressent plus.

Remarque : la suppression d'un élément annule automatiquement le téléchargement depuis la version 5.12.2, mais il est recommandé d'annuler manuellement le téléchargement avant de le supprimer pour des raisons de portabilité.

Téléchargements de pages web

En plus des téléchargements de fichiers normaux, qui consistent simplement à récupérer des octets bruts sur le réseau et à les écrire sur le disque, Qt WebEngine permet également de sauvegarder des pages web complètes, ce qui implique d'analyser le code HTML de la page, de télécharger toutes les ressources dépendantes et, éventuellement, d'empaqueter le tout dans un format de fichier spécial (savePageFormat). Pour vérifier si un téléchargement concerne un fichier ou une page web, utilisez isSavePageDownload.

Les demandes d'enregistrement de pages web sont acceptées automatiquement et démarrées à partir de l'état DownloadInProgress pour des raisons de commodité. Le premier gestionnaire de signaux directement connecté à downloadRequested peut empêcher cela en appelant cancel(), sinon l'opération d'enregistrement commencera à écrire des données sur le disque.

Voir aussi QWebEngineProfile, QWebEngineProfile::downloadRequested, QWebEnginePage::download, et QWebEnginePage::save.

Documentation sur les types de membres

enum QWebEngineDownloadRequest::DownloadInterruptReason

Décrit la raison pour laquelle un téléchargement a été interrompu :

ConstanteValeurDescription de la raison
QWebEngineDownloadRequest::NoReason0Raison inconnue ou non interrompu.
QWebEngineDownloadRequest::FileFailed1Échec général de l'opération sur le fichier.
QWebEngineDownloadRequest::FileAccessDenied2Le fichier ne peut pas être écrit localement en raison de restrictions d'accès.
QWebEngineDownloadRequest::FileNoSpace3Espace insuffisant sur le lecteur cible.
QWebEngineDownloadRequest::FileNameTooLong5Le nom du répertoire ou du fichier est trop long.
QWebEngineDownloadRequest::FileTooLarge6La taille du fichier dépasse les limites du système de fichiers.
QWebEngineDownloadRequest::FileVirusInfected7Le fichier est infecté par un virus.
QWebEngineDownloadRequest::FileTransientError10Problème temporaire (par exemple, le fichier est en cours d'utilisation, il n'y a plus de mémoire ou trop de fichiers sont ouverts en même temps).
QWebEngineDownloadRequest::FileBlocked11Le fichier a été bloqué en raison d'une politique locale.
QWebEngineDownloadRequest::FileSecurityCheckFailed12Une tentative de vérification de la sécurité du téléchargement a échoué pour des raisons inattendues.
QWebEngineDownloadRequest::FileTooShort13Une tentative a été faite pour chercher au-delà de la fin d'un fichier lors de l'ouverture d'un fichier (dans le cadre de la reprise d'un téléchargement précédemment interrompu).
QWebEngineDownloadRequest::FileHashMismatch14Le fichier partiel ne correspondait pas au hachage attendu.
QWebEngineDownloadRequest::NetworkFailed20Défaillance générale du réseau.
QWebEngineDownloadRequest::NetworkTimeout21L'opération réseau a expiré.
QWebEngineDownloadRequest::NetworkDisconnected22La connexion réseau a été interrompue.
QWebEngineDownloadRequest::NetworkServerDown23Le serveur est hors service.
QWebEngineDownloadRequest::NetworkInvalidRequest24La requête réseau n'était pas valide (par exemple, l'URL originale ou redirigée n'est pas valide, a un schéma non pris en charge ou n'est pas autorisée par la politique).
QWebEngineDownloadRequest::ServerFailed30Défaillance générale du serveur.
QWebEngineDownloadRequest::ServerBadContent33Le serveur ne dispose pas des données demandées.
QWebEngineDownloadRequest::ServerUnauthorized34Le serveur n'a pas autorisé l'accès à la ressource.
QWebEngineDownloadRequest::ServerCertProblem35Un problème est survenu avec le certificat du serveur.
QWebEngineDownloadRequest::ServerForbidden36Accès interdit par le serveur.
QWebEngineDownloadRequest::ServerUnreachable37Réponse inattendue du serveur (peut indiquer que le serveur qui répond n'est peut-être pas le serveur prévu).
QWebEngineDownloadRequest::UserCanceled40L'utilisateur a annulé le téléchargement.

enum QWebEngineDownloadRequest::DownloadState

Cette énumération décrit l'état du téléchargement :

ConstanteValeurDescription
QWebEngineDownloadRequest::DownloadRequested0Le téléchargement a été demandé, mais n'a pas encore été accepté.
QWebEngineDownloadRequest::DownloadInProgress1Le téléchargement est en cours.
QWebEngineDownloadRequest::DownloadCompleted2Le téléchargement a été effectué avec succès.
QWebEngineDownloadRequest::DownloadCancelled3Le téléchargement a été annulé.
QWebEngineDownloadRequest::DownloadInterrupted4Le téléchargement a été interrompu (par le serveur ou en raison d'une perte de connectivité).

enum QWebEngineDownloadRequest::SavePageFormat

Cette énumération décrit le format utilisé pour enregistrer une page web.

ConstanteValeurDescription
QWebEngineDownloadRequest::UnknownSaveFormat-1Il ne s'agit pas d'une demande de téléchargement d'une page web complète.
QWebEngineDownloadRequest::SingleHtmlSaveFormat0La page est enregistrée en tant que page HTML unique. Les ressources telles que les images ne sont pas enregistrées.
QWebEngineDownloadRequest::CompleteHtmlSaveFormat1La page est enregistrée en tant que page HTML complète, par exemple un répertoire contenant la page HTML unique et les ressources.
QWebEngineDownloadRequest::MimeHtmlSaveFormat2La page est enregistrée en tant que page web complète au format MIME HTML.

Documentation sur les propriétés

downloadDirectory : QString

Cette propriété contient le chemin du répertoire de téléchargement.

Le chemin du répertoire de téléchargement ne peut être défini qu'en réponse au signal QWebEngineProfile::downloadRequested() avant que le téléchargement ne soit accepté. Passé ce stade, cette propriété n'a aucun effet sur l'état de l'élément de téléchargement.

Fonctions d'accès :

QString downloadDirectory() const
void setDownloadDirectory(const QString &directory)

Signal Notificateur :

void downloadDirectoryChanged()

downloadFileName : QString

Cette propriété contient le nom du fichier à télécharger.

Le nom du fichier de téléchargement ne peut être défini qu'en réponse au signal QWebEngineProfile::downloadRequested() avant que le téléchargement ne soit accepté. Passé ce stade, cette propriété n'a aucun effet sur l'état de l'élément de téléchargement.

Fonctions d'accès :

QString downloadFileName() const
void setDownloadFileName(const QString &fileName)

Signal Notificateur :

void downloadFileNameChanged()

[read-only] id : const quint32

Cette propriété contient l'identifiant de l'élément de téléchargement.

Fonctions d'accès :

quint32 id() const

[read-only] interruptReason : DownloadInterruptReason

Cette propriété contient la raison pour laquelle le téléchargement a été interrompu.

Fonctions d'accès :

QWebEngineDownloadRequest::DownloadInterruptReason interruptReason() const

Signal de notification :

void interruptReasonChanged()

Voir aussi interruptReasonString.

[read-only] interruptReasonString : QString

Cette propriété contient une description lisible par l'homme de la raison de l'interruption du téléchargement.

Fonctions d'accès :

QString interruptReasonString() const

Signal du notificateur :

Voir aussi interruptReason.

[read-only] isFinished : bool

Cette propriété indique si le téléchargement est terminé (achevé, annulé ou interrompu).

Fonctions d'accès :

bool isFinished() const

Signal du notificateur :

void isFinishedChanged()

Voir aussi state().

[read-only] isPaused : bool

Cette propriété indique si le téléchargement est en pause.

Fonctions d'accès :

bool isPaused() const

Signal du notificateur :

Voir aussi pause() et resume().

[read-only] isSavePageDownload : const bool

Cette propriété indique s'il s'agit d'une demande de téléchargement pour l'enregistrement d'une page web.

Fonctions d'accès :

bool isSavePageDownload() const

Voir aussi savePageFormat.

[read-only] mimeType : QString

Cette propriété contient le type MIME du téléchargement.

Fonctions d'accès :

QString mimeType() const

[read-only] receivedBytes : qint64

Cette propriété contient la quantité de données en octets qui a été téléchargée jusqu'à présent.

-1 signifie que la taille est inconnue.

Fonctions d'accès :

qint64 receivedBytes() const

Signal de notification :

void receivedBytesChanged()

savePageFormat : SavePageFormat

Cette propriété indique le format dans lequel la page web sera enregistrée s'il s'agit d'une demande de téléchargement d'une page web.

Fonctions d'accès :

QWebEngineDownloadRequest::SavePageFormat savePageFormat() const
void setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format)

Signal de notification :

void savePageFormatChanged()

Voir aussi isSavePageDownload.

[read-only] state : DownloadState

Cette propriété contient l'état actuel de l'élément de téléchargement.

Fonctions d'accès :

QWebEngineDownloadRequest::DownloadState state() const

Signal du notificateur :

void stateChanged(QWebEngineDownloadRequest::DownloadState state)

Voir aussi DownloadState.

[read-only] suggestedFileName : const QString

Cette propriété contient le nom du fichier proposé.

Fonctions d'accès :

QString suggestedFileName() const

[read-only] totalBytes : qint64

Cette propriété contient la quantité totale de données à télécharger en octets.

-1 signifie que la taille est inconnue.

Fonctions d'accès :

qint64 totalBytes() const

Signal de notification :

void totalBytesChanged()

[read-only] url : const QUrl

Cette propriété contient l'URL d'origine du téléchargement.

Fonctions d'accès :

QUrl url() const

Documentation des fonctions membres

[slot] void QWebEngineDownloadRequest::accept()

Accepte la demande de téléchargement en cours, ce qui lancera le téléchargement.

Si l'élément est dans l'état DownloadRequested, il passera dans l'état DownloadInProgress et le téléchargement commencera. Si l'élément est dans un autre état, il ne se passera rien.

Voir également isFinished et stateChanged().

[slot] void QWebEngineDownloadRequest::cancel()

Annule le téléchargement en cours.

Si l'élément est dans l'état DownloadInProgress, il passera dans l'état DownloadCancelled, le téléchargement s'arrêtera et les fichiers partiellement téléchargés seront supprimés du disque.

Si l'élément est dans l'état DownloadCompleted, il ne se passera rien. Si l'élément est dans un autre état, il passera à l'état DownloadCancelled sans autre effet.

Voir également isFinished et stateChanged().

[signal] void QWebEngineDownloadRequest::isPausedChanged()

Ce signal est émis lorsque isPaused est modifié.

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

Voir aussi pause() et isPaused.

QWebEnginePage *QWebEngineDownloadRequest::page() const

Renvoie la page sur laquelle le téléchargement a été demandé. Si le téléchargement n'a pas été déclenché par le contenu d'une page, nullptr est renvoyé.

[slot] void QWebEngineDownloadRequest::pause()

Interrompt le téléchargement.

Sans effet si l'état n'est pas DownloadInProgress. Ne modifie pas l'état.

Voir également resume() et isPaused().

[slot] void QWebEngineDownloadRequest::resume()

Reprend le téléchargement en cours s'il a été mis en pause ou interrompu.

N'a aucun effet si l'état n'est pas DownloadInProgress ou DownloadInterrupted. Ne modifie pas l'état.

Voir également pause(), isPaused() et state().

[signal] void QWebEngineDownloadRequest::stateChanged(QWebEngineDownloadRequest::DownloadState state)

Ce signal est émis lorsque l'adresse state du téléchargement est modifiée.

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

Voir aussi state() et DownloadState.

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