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
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 :
| Constante | Valeur | Description de la raison |
|---|---|---|
QWebEngineDownloadRequest::NoReason | 0 | Raison inconnue ou non interrompu. |
QWebEngineDownloadRequest::FileFailed | 1 | Échec général de l'opération sur le fichier. |
QWebEngineDownloadRequest::FileAccessDenied | 2 | Le fichier ne peut pas être écrit localement en raison de restrictions d'accès. |
QWebEngineDownloadRequest::FileNoSpace | 3 | Espace insuffisant sur le lecteur cible. |
QWebEngineDownloadRequest::FileNameTooLong | 5 | Le nom du répertoire ou du fichier est trop long. |
QWebEngineDownloadRequest::FileTooLarge | 6 | La taille du fichier dépasse les limites du système de fichiers. |
QWebEngineDownloadRequest::FileVirusInfected | 7 | Le fichier est infecté par un virus. |
QWebEngineDownloadRequest::FileTransientError | 10 | Problè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::FileBlocked | 11 | Le fichier a été bloqué en raison d'une politique locale. |
QWebEngineDownloadRequest::FileSecurityCheckFailed | 12 | Une tentative de vérification de la sécurité du téléchargement a échoué pour des raisons inattendues. |
QWebEngineDownloadRequest::FileTooShort | 13 | Une 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::FileHashMismatch | 14 | Le fichier partiel ne correspondait pas au hachage attendu. |
QWebEngineDownloadRequest::NetworkFailed | 20 | Défaillance générale du réseau. |
QWebEngineDownloadRequest::NetworkTimeout | 21 | L'opération réseau a expiré. |
QWebEngineDownloadRequest::NetworkDisconnected | 22 | La connexion réseau a été interrompue. |
QWebEngineDownloadRequest::NetworkServerDown | 23 | Le serveur est hors service. |
QWebEngineDownloadRequest::NetworkInvalidRequest | 24 | La 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::ServerFailed | 30 | Défaillance générale du serveur. |
QWebEngineDownloadRequest::ServerBadContent | 33 | Le serveur ne dispose pas des données demandées. |
QWebEngineDownloadRequest::ServerUnauthorized | 34 | Le serveur n'a pas autorisé l'accès à la ressource. |
QWebEngineDownloadRequest::ServerCertProblem | 35 | Un problème est survenu avec le certificat du serveur. |
QWebEngineDownloadRequest::ServerForbidden | 36 | Accès interdit par le serveur. |
QWebEngineDownloadRequest::ServerUnreachable | 37 | Réponse inattendue du serveur (peut indiquer que le serveur qui répond n'est peut-être pas le serveur prévu). |
QWebEngineDownloadRequest::UserCanceled | 40 | L'utilisateur a annulé le téléchargement. |
enum QWebEngineDownloadRequest::DownloadState
Cette énumération décrit l'état du téléchargement :
| Constante | Valeur | Description |
|---|---|---|
QWebEngineDownloadRequest::DownloadRequested | 0 | Le téléchargement a été demandé, mais n'a pas encore été accepté. |
QWebEngineDownloadRequest::DownloadInProgress | 1 | Le téléchargement est en cours. |
QWebEngineDownloadRequest::DownloadCompleted | 2 | Le téléchargement a été effectué avec succès. |
QWebEngineDownloadRequest::DownloadCancelled | 3 | Le téléchargement a été annulé. |
QWebEngineDownloadRequest::DownloadInterrupted | 4 | Le 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.
| Constante | Valeur | Description |
|---|---|---|
QWebEngineDownloadRequest::UnknownSaveFormat | -1 | Il ne s'agit pas d'une demande de téléchargement d'une page web complète. |
QWebEngineDownloadRequest::SingleHtmlSaveFormat | 0 | La page est enregistrée en tant que page HTML unique. Les ressources telles que les images ne sont pas enregistrées. |
QWebEngineDownloadRequest::CompleteHtmlSaveFormat | 1 | La 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::MimeHtmlSaveFormat | 2 | La 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 :
| void | interruptReasonChanged() |
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 :
| void | isPausedChanged() |
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.