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
- isFinished : const bool
- isPaused : const bool
Ö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. Dies geschieht durch das Aussenden des Signals downloadRequested zusammen mit einer neu erstellten QWebEngineDownloadRequest. Die Anwendung kann dann dieses Element prüfen und entscheiden, ob sie es akzeptiert oder nicht. Ein Signalhandler muss explizit accept() für das Element aufrufen, damit Qt WebEngine tatsächlich mit dem Herunterladen und Schreiben von Daten auf die Festplatte beginnt. Wenn kein Signalhandler accept() aufruft, wird die Download-Anforderung automatisch abgelehnt und es wird nichts auf die Festplatte geschrieben.
Hinweis: Einige Eigenschaften, wie z. B. das Festlegen des Pfads und des Dateinamens, unter dem die Datei gespeichert werden soll (siehe downloadDirectory() und downloadFileName()), können nur vor dem Aufruf von accept() geändert werden.
Lebenszyklus von Objekten
Alle Objekte sind garantiert gültig, solange das Signal downloadRequested gesendet wird. Wenn accept() nicht von einem Signalhandler aufgerufen wird, wird das Element unmittelbar nach der Signalausgabe gelöscht. Dies bedeutet, dass die Anwendung keine Verweise auf abgelehnte Download-Elemente aufbewahren darf. Es bedeutet auch, dass die Anwendung keine Warteschlangenverbindung zu diesem Signal verwenden sollte.
Wenn accept() von einem Signalhandler aufgerufen wird, übernimmt QWebEngineProfile das Element. Es ist jedoch sicher, dass die Anwendung das Element 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 Elemente 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.
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 einer lokalen Richtlinie 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
[read-only]
isFinished : const 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 : const bool
Diese Eigenschaft gibt an, ob der Download pausiert wird.
Zugriffsfunktionen:
bool | isPaused() const |
Benachrichtigungssignal:
void | isPausedChanged() |
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().
QString QWebEngineDownloadRequest::downloadDirectory() const
Gibt den Pfad des Download-Verzeichnisses zurück.
Hinweis: Getter-Funktion für die Eigenschaft downloadDirectory.
Siehe auch setDownloadDirectory().
QString QWebEngineDownloadRequest::downloadFileName() const
Gibt den Dateinamen zurück, unter dem die Datei heruntergeladen werden soll.
Hinweis: Getter-Funktion für die Eigenschaft downloadFileName.
Siehe auch setDownloadFileName().
quint32 QWebEngineDownloadRequest::id() const
Gibt die ID des heruntergeladenen Artikels zurück.
Hinweis: Getter-Funktion für die Eigenschaft id.
QWebEngineDownloadRequest::DownloadInterruptReason QWebEngineDownloadRequest::interruptReason() const
Gibt den Grund zurück, warum der Download unterbrochen wurde.
Hinweis: Getter-Funktion für die Eigenschaft interruptReason.
Siehe auch interruptReasonString().
QString QWebEngineDownloadRequest::interruptReasonString() const
Gibt eine von Menschen lesbare Beschreibung des Grundes für die Unterbrechung des Downloads zurück.
Hinweis: Getter-Funktion für die Eigenschaft interruptReasonString.
Siehe auch interruptReason().
[signal]
void QWebEngineDownloadRequest::isPausedChanged()
Dieses Signal wird bei jeder Änderung von isPaused ausgegeben.
Hinweis: Benachrichtigungssignal für die Eigenschaft isPaused.
Siehe auch pause() und isPaused.
bool QWebEngineDownloadRequest::isSavePageDownload() const
Gibt true
zurück, wenn es sich um eine Download-Anforderung zum Speichern einer Webseite handelt.
Hinweis: Getter-Funktion für die Eigenschaft isSavePageDownload.
Siehe auch savePageFormat() und setSavePageFormat().
QString QWebEngineDownloadRequest::mimeType() const
Gibt den MIME-Typ des Downloads zurück.
Hinweis: Getter-Funktion für die Eigenschaft mimeType.
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().
qint64 QWebEngineDownloadRequest::receivedBytes() const
Gibt die Datenmenge in Bytes zurück, die bisher heruntergeladen wurde.
-1
bedeutet, dass die Größe unbekannt ist.
Hinweis: Getter-Funktion für die Eigenschaft receivedBytes.
[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().
QWebEngineDownloadRequest::SavePageFormat QWebEngineDownloadRequest::savePageFormat() const
Gibt das Format zurück, in dem die Webseite gespeichert werden soll, wenn es sich um eine Download-Anforderung für eine Webseite handelt.
Hinweis: Getter-Funktion für die Eigenschaft savePageFormat.
Siehe auch setSavePageFormat() und isSavePageDownload().
void QWebEngineDownloadRequest::setDownloadDirectory(const QString &directory)
Legt directory als Verzeichnispfad fest, in den die Datei heruntergeladen werden soll.
Der Download-Verzeichnispfad kann nur als Antwort auf das Signal QWebEngineProfile::downloadRequested() festgelegt werden, bevor der Download akzeptiert wird. Nach diesem Zeitpunkt hat diese Funktion keinen Einfluss mehr auf den Status des Download-Elements.
Hinweis: Setter-Funktion für die Eigenschaft downloadDirectory.
Siehe auch downloadDirectory().
void QWebEngineDownloadRequest::setDownloadFileName(const QString &fileName)
Legt fileName als Dateinamen fest, 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. Nach diesem Zeitpunkt hat diese Funktion keinen Einfluss mehr auf den Status des Download-Elements.
Hinweis: Setter-Funktion für die Eigenschaft downloadFileName.
Siehe auch downloadFileName().
void QWebEngineDownloadRequest::setSavePageFormat(QWebEngineDownloadRequest::SavePageFormat format)
Legt die format fest, in der die Webseite gespeichert wird, wenn es sich um eine Download-Anforderung für eine Webseite handelt.
Hinweis: Setter-Funktion für die Eigenschaft savePageFormat.
Siehe auch savePageFormat() und isSavePageDownload().
QWebEngineDownloadRequest::DownloadState QWebEngineDownloadRequest::state() const
Liefert den aktuellen Status des heruntergeladenen Objekts.
Hinweis: Getter-Funktion für die Eigenschaft state.
Siehe auch DownloadState.
[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.
QString QWebEngineDownloadRequest::suggestedFileName() const
Gibt den vorgeschlagenen Dateinamen zurück.
Hinweis: Getter-Funktion für die Eigenschaft suggestedFileName.
qint64 QWebEngineDownloadRequest::totalBytes() const
Gibt die Gesamtmenge der herunterzuladenden Daten in Bytes zurück.
-1
bedeutet, dass die Größe unbekannt ist.
Hinweis: Getter-Funktion für die Eigenschaft totalBytes.
QUrl QWebEngineDownloadRequest::url() const
Gibt die Ursprungs-URL des Downloads zurück.
Hinweis: Getter-Funktion für die Eigenschaft url.
© 2025 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.