QWebEngineDownloadRequest Class
Die Klasse QWebEngineDownloadRequest liefert Informationen über einen Download. Mehr...
| Kopfzeile: | #include <QWebEngineDownloadRequest> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake: | QT += webenginecore |
| In QML: | WebEngineDownloadRequest |
| Vererbt: | QObject |
Öffentliche Typen
| enum | DownloadInterruptReason { NoReason, FileFailed, FileAccessDenied, FileNoSpace, FileNameTooLong, …, UserCanceled } |
| enum | DownloadState { DownloadRequested, DownloadInProgress, DownloadCompleted, DownloadCancelled, DownloadInterrupted } |
| enum | SavePageFormat { UnknownSaveFormat, SingleHtmlSaveFormat, CompleteHtmlSaveFormat, MimeHtmlSaveFormat } |
Eigenschaften
|
|
Öffentliche Funktionen
| 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 |
Öffentliche Slots
Signale
| void | downloadDirectoryChanged() |
| void | downloadFileNameChanged() |
| void | interruptReasonChanged() |
| void | isFinishedChanged() |
| void | isPausedChanged() |
| void | receivedBytesChanged() |
| void | savePageFormatChanged() |
| void | stateChanged(QWebEngineDownloadRequest::DownloadState state) |
| void | totalBytesChanged() |
Detaillierte Beschreibung
QWebEngineDownloadRequest modelliert einen Download während seines gesamten Lebenszyklus, beginnend mit einer anstehenden Download-Anforderung und endend mit einem abgeschlossenen Download. Es kann zum Beispiel verwendet werden, um Informationen über neue Downloads zu erhalten, um den Fortschritt zu überwachen und um Downloads anzuhalten, fortzusetzen und abzubrechen.
Downloads werden in der Regel durch Benutzerinteraktionen auf einer Webseite ausgelöst. Es liegt in der Verantwortung von QWebEngineProfile, die Anwendung über neue Download-Anforderungen zu informieren. Dazu wird das Signal downloadRequested zusammen mit einer neu erstellten QWebEngineDownloadRequest ausgegeben. Die Anwendung kann dann dieses Element prüfen und entscheiden, ob sie es annimmt oder nicht. Wenn eine Entscheidung getroffen wurde, muss die Anwendung explizit accept() oder cancel() für das Element aufrufen, damit Qt WebEngine tatsächlich mit dem Herunterladen beginnt oder die Anforderung zurückweist.
Hinweis: Einige Eigenschaften, wie z. B. die Festlegung des Pfads und des Dateinamens, unter dem die Datei gespeichert wird (siehe downloadDirectory() und downloadFileName()), können nur vor dem Aufruf von accept() geändert werden.
Lebenszyklus der Objekte
In jedem Fall übernimmt QWebEngineProfile das Eigentum an dem Objekt. Es ist jedoch sicher, dass die Anwendung das Objekt jederzeit löschen kann, außer während der Verarbeitung des Signals downloadRequested. Da es sich bei QWebEngineProfile um ein langlebiges Objekt handelt, wird empfohlen, dass die Anwendung alle Objekte löscht, an denen sie nicht mehr interessiert ist.
Hinweis: Das Löschen eines Objekts bricht seit Version 5.12.2 auch automatisch einen Download ab, aber es wird empfohlen, den Vorgang vor dem Löschen manuell abzubrechen, um die Übertragbarkeit zu gewährleisten.
Downloads von Webseiten
Zusätzlich zu den normalen Dateidownloads, bei denen einfach nur einige rohe Bytes aus dem Netzwerk abgerufen und auf die Festplatte geschrieben werden, unterstützt Qt WebEngine auch das Speichern kompletter Webseiten, wobei der HTML-Code der Seite geparst, alle abhängigen Ressourcen heruntergeladen und möglicherweise alles in ein spezielles Dateiformat (savePageFormat) verpackt wird. Um zu prüfen, ob es sich bei einem Download um eine Datei oder eine Webseite handelt, verwenden Sie isSavePageDownload.
Anforderungen zum Speichern von Webseiten werden automatisch akzeptiert und aus Bequemlichkeitsgründen vom Zustand DownloadInProgress aus gestartet. Der erste direkt angeschlossene downloadRequested Signalhandler kann dies durch den Aufruf von cancel() verhindern, andernfalls wird der Speichervorgang mit dem Schreiben von Daten auf die Festplatte beginnen.
Siehe auch QWebEngineProfile, QWebEngineProfile::downloadRequested, QWebEnginePage::download, und QWebEnginePage::save.
Dokumentation der Mitgliedstypen
enum QWebEngineDownloadRequest::DownloadInterruptReason
Beschreibt den Grund, warum ein Download unterbrochen wurde:
| Konstante | Wert | Beschreibung |
|---|---|---|
QWebEngineDownloadRequest::NoReason | 0 | Unbekannter Grund oder nicht unterbrochen. |
QWebEngineDownloadRequest::FileFailed | 1 | Allgemeiner Fehler bei der Dateioperation. |
QWebEngineDownloadRequest::FileAccessDenied | 2 | Die Datei kann aufgrund von Zugriffsbeschränkungen nicht lokal geschrieben werden. |
QWebEngineDownloadRequest::FileNoSpace | 3 | Unzureichender Speicherplatz auf dem Ziellaufwerk. |
QWebEngineDownloadRequest::FileNameTooLong | 5 | Der Verzeichnis- oder Dateiname ist zu lang. |
QWebEngineDownloadRequest::FileTooLarge | 6 | Die Dateigröße überschreitet die Begrenzung des Dateisystems. |
QWebEngineDownloadRequest::FileVirusInfected | 7 | Die Datei ist mit einem Virus infiziert. |
QWebEngineDownloadRequest::FileTransientError | 10 | Vorübergehendes Problem (z. B. die Datei ist in Gebrauch, der Speicherplatz ist erschöpft, oder es sind zu viele Dateien gleichzeitig geöffnet). |
QWebEngineDownloadRequest::FileBlocked | 11 | Die Datei wurde aufgrund lokaler Richtlinien blockiert. |
QWebEngineDownloadRequest::FileSecurityCheckFailed | 12 | Ein Versuch, die Sicherheit des Downloads zu überprüfen, ist aus unerwarteten Gründen fehlgeschlagen. |
QWebEngineDownloadRequest::FileTooShort | 13 | Beim Öffnen einer Datei wurde versucht, über das Ende der Datei hinaus zu suchen (im Rahmen der Wiederaufnahme eines zuvor unterbrochenen Downloads). |
QWebEngineDownloadRequest::FileHashMismatch | 14 | Die Teildatei stimmte nicht mit dem erwarteten Hash überein. |
QWebEngineDownloadRequest::NetworkFailed | 20 | Allgemeine Netzwerkstörung. |
QWebEngineDownloadRequest::NetworkTimeout | 21 | Die Netzwerkoperation hat eine Zeitüberschreitung verursacht. |
QWebEngineDownloadRequest::NetworkDisconnected | 22 | Die Netzwerkverbindung wurde unterbrochen. |
QWebEngineDownloadRequest::NetworkServerDown | 23 | Der Server ist ausgefallen. |
QWebEngineDownloadRequest::NetworkInvalidRequest | 24 | Die Netzwerkanforderung war ungültig (z. B. ist die ursprüngliche oder umgeleitete URL ungültig, hat ein nicht unterstütztes Schema oder ist durch eine Richtlinie nicht zulässig). |
QWebEngineDownloadRequest::ServerFailed | 30 | Allgemeiner Serverausfall. |
QWebEngineDownloadRequest::ServerBadContent | 33 | Der Server verfügt nicht über die angeforderten Daten. |
QWebEngineDownloadRequest::ServerUnauthorized | 34 | Der Server hat den Zugriff auf die Ressource nicht autorisiert. |
QWebEngineDownloadRequest::ServerCertProblem | 35 | Es ist ein Problem mit dem Serverzertifikat aufgetreten. |
QWebEngineDownloadRequest::ServerForbidden | 36 | Der Zugriff wurde vom Server verboten. |
QWebEngineDownloadRequest::ServerUnreachable | 37 | Unerwartete Serverantwort (kann darauf hinweisen, dass der antwortende Server nicht der beabsichtigte Server ist). |
QWebEngineDownloadRequest::UserCanceled | 40 | Der Benutzer hat den Download abgebrochen. |
enum QWebEngineDownloadRequest::DownloadState
Diese Aufzählung beschreibt den Status des Downloads:
| Konstante | Wert | Beschreibung |
|---|---|---|
QWebEngineDownloadRequest::DownloadRequested | 0 | Der Download wurde angefordert, aber noch nicht akzeptiert. |
QWebEngineDownloadRequest::DownloadInProgress | 1 | Der Download ist im Gange. |
QWebEngineDownloadRequest::DownloadCompleted | 2 | Der Download wurde erfolgreich abgeschlossen. |
QWebEngineDownloadRequest::DownloadCancelled | 3 | Das Herunterladen wurde abgebrochen. |
QWebEngineDownloadRequest::DownloadInterrupted | 4 | Das Herunterladen wurde unterbrochen (durch den Server oder aufgrund von Verbindungsabbrüchen). |
enum QWebEngineDownloadRequest::SavePageFormat
Diese Aufzählung beschreibt das Format, das zum Speichern einer Webseite verwendet wird.
| Konstante | Wert | Beschreibung |
|---|---|---|
QWebEngineDownloadRequest::UnknownSaveFormat | -1 | Dies ist keine Anfrage zum Herunterladen einer kompletten Webseite. |
QWebEngineDownloadRequest::SingleHtmlSaveFormat | 0 | Die Seite wird als einzelne HTML-Seite gespeichert. Ressourcen, wie z. B. Bilder, werden nicht gespeichert. |
QWebEngineDownloadRequest::CompleteHtmlSaveFormat | 1 | Die Seite wird als vollständige HTML-Seite gespeichert, z. B. ein Verzeichnis, das die einzelne HTML-Seite und die Ressourcen enthält. |
QWebEngineDownloadRequest::MimeHtmlSaveFormat | 2 | Die Seite wird als komplette Webseite im MIME-HTML-Format gespeichert. |
Eigenschaft Dokumentation
downloadDirectory : QString
Diese Eigenschaft enthält den Download-Verzeichnispfad.
Der Download-Verzeichnispfad kann nur als Antwort auf das Signal QWebEngineProfile::downloadRequested() gesetzt werden, bevor der Download akzeptiert wird. Danach hat diese Eigenschaft keinen Einfluss mehr auf den Status des Download-Elements.
Zugriffsfunktionen:
| QString | downloadDirectory() const |
| void | setDownloadDirectory(const QString &directory) |
Benachrichtigungssignal:
| void | downloadDirectoryChanged() |
downloadFileName : QString
Diese Eigenschaft enthält den Dateinamen, unter dem die Datei heruntergeladen werden soll.
Der Name der heruntergeladenen Datei kann nur als Antwort auf das Signal QWebEngineProfile::downloadRequested() festgelegt werden, bevor der Download akzeptiert wird. Danach hat diese Eigenschaft keinen Einfluss mehr auf den Status des Download-Elements.
Zugriffsfunktionen:
| QString | downloadFileName() const |
| void | setDownloadFileName(const QString &fileName) |
Benachrichtigungssignal:
| void | downloadFileNameChanged() |
[read-only] id : const quint32
Diese Eigenschaft enthält die ID des Download-Elements.
Zugriffsfunktionen:
| quint32 | id() const |
[read-only] interruptReason : DownloadInterruptReason
Diese Eigenschaft enthält den Grund, warum der Download unterbrochen wurde.
Zugriffsfunktionen:
| QWebEngineDownloadRequest::DownloadInterruptReason | interruptReason() const |
Benachrichtigungssignal:
| void | interruptReasonChanged() |
Siehe auch interruptReasonString.
[read-only] interruptReasonString : QString
Diese Eigenschaft enthält eine menschenlesbare Beschreibung des Grundes für die Unterbrechung des Downloads.
Zugriffsfunktionen:
| QString | interruptReasonString() const |
Benachrichtigungssignal:
| void | interruptReasonChanged() |
Siehe auch interruptReason.
[read-only] isFinished : bool
Diese Eigenschaft gibt an, ob der Download beendet ist (abgeschlossen, abgebrochen oder nicht wiederaufnehmbarer unterbrochener Zustand).
Zugriffsfunktionen:
| bool | isFinished() const |
Benachrichtigungssignal:
| void | isFinishedChanged() |
Siehe auch state().
[read-only] isPaused : bool
Diese Eigenschaft gibt an, ob der Download pausiert wird.
Zugriffsfunktionen:
| bool | isPaused() const |
Benachrichtigungssignal:
| void | isPausedChanged() |
Siehe auch pause() und resume().
[read-only] isSavePageDownload : const bool
Diese Eigenschaft gibt an, ob es sich um eine Download-Anforderung zum Speichern einer Webseite handelt.
Zugriffsfunktionen:
| bool | isSavePageDownload() const |
Siehe auch savePageFormat.
[read-only] mimeType : QString
Diese Eigenschaft enthält den MIME-Typ des Downloads.
Zugriffsfunktionen:
| QString | mimeType() const |
[read-only] receivedBytes : qint64
Diese Eigenschaft enthält die Datenmenge in Bytes, die bisher heruntergeladen wurde.
-1 bedeutet, dass die Größe unbekannt ist.
Zugriffsfunktionen:
| qint64 | receivedBytes() const |
Benachrichtigungssignal:
| void | receivedBytesChanged() |
savePageFormat : SavePageFormat
Diese Eigenschaft enthält das Format, in dem die Webseite gespeichert werden soll, wenn es sich um eine Download-Anforderung für eine Webseite handelt.
Zugriffsfunktionen:
| QWebEngineDownloadRequest::SavePageFormat | savePageFormat() const |
| void | setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format) |
Benachrichtigungssignal:
| void | savePageFormatChanged() |
Siehe auch isSavePageDownload.
[read-only] state : DownloadState
Diese Eigenschaft enthält den aktuellen Status des Download-Elements.
Zugriffsfunktionen:
| QWebEngineDownloadRequest::DownloadState | state() const |
Benachrichtigungssignal:
| void | stateChanged(QWebEngineDownloadRequest::DownloadState state) |
Siehe auch DownloadState.
[read-only] suggestedFileName : const QString
Diese Eigenschaft enthält den vorgeschlagenen Dateinamen.
Zugriffsfunktionen:
| QString | suggestedFileName() const |
[read-only] totalBytes : qint64
Diese Eigenschaft enthält die Gesamtmenge der herunterzuladenden Daten in Bytes.
-1 bedeutet, dass die Größe unbekannt ist.
Zugriffsfunktionen:
| qint64 | totalBytes() const |
Benachrichtigungssignal:
| void | totalBytesChanged() |
[read-only] url : const QUrl
Diese Eigenschaft enthält die Ursprungs-URL des Downloads.
Zugriffsfunktionen:
| QUrl | url() const |
Dokumentation der Mitgliedsfunktionen
[slot] void QWebEngineDownloadRequest::accept()
Nimmt die aktuelle Download-Anforderung an und startet den Download.
Befindet sich das Objekt im Zustand DownloadRequested, geht es in den Zustand DownloadInProgress über und das Herunterladen beginnt. Befindet sich das Objekt in einem anderen Zustand, geschieht nichts.
Siehe auch isFinished und stateChanged().
[slot] void QWebEngineDownloadRequest::cancel()
Bricht den aktuellen Download ab.
Wenn sich das Objekt im Zustand DownloadInProgress befindet, geht es in den Zustand DownloadCancelled über, das Herunterladen wird beendet und teilweise heruntergeladene Dateien werden von der Festplatte gelöscht.
Befindet sich das Objekt im Zustand DownloadCompleted, geschieht nichts. Befindet sich das Objekt in einem anderen Zustand, so geht es ohne weitere Folgen in den Zustand DownloadCancelled über.
Siehe auch isFinished und stateChanged().
[signal] void QWebEngineDownloadRequest::isPausedChanged()
Dieses Signal wird ausgegeben, wenn sich isPaused ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft isPaused.
Siehe auch pause() und isPaused.
QWebEnginePage *QWebEngineDownloadRequest::page() const
Gibt die Seite zurück, auf der der Download angefordert wurde. Wenn der Download nicht durch den Inhalt einer Seite ausgelöst wurde, wird nullptr zurückgegeben.
[slot] void QWebEngineDownloadRequest::pause()
Hält den Download an.
Hat keine Auswirkung, wenn der Status nicht DownloadInProgress ist. Ändert den Status nicht.
Siehe auch resume() und isPaused().
[slot] void QWebEngineDownloadRequest::resume()
Setzt den aktuellen Download fort, wenn er angehalten oder unterbrochen wurde.
Hat keine Auswirkungen, wenn der Status nicht DownloadInProgress oder DownloadInterrupted ist. Ändert den Status nicht.
Siehe auch pause(), isPaused(), und state().
[signal] void QWebEngineDownloadRequest::stateChanged(QWebEngineDownloadRequest::DownloadState state)
Dieses Signal wird ausgegeben, wenn sich die state des Downloads ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft state.
Siehe auch state() und 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.